diff --git a/code/ATMOSPHERICS/components/binary_devices/pump.dm b/code/ATMOSPHERICS/components/binary_devices/pump.dm
index 81ccfce0f6d..96e0e970364 100644
--- a/code/ATMOSPHERICS/components/binary_devices/pump.dm
+++ b/code/ATMOSPHERICS/components/binary_devices/pump.dm
@@ -38,18 +38,19 @@ obj/machinery/atmospherics/binary/pump
icon_state = "exposed_2_off"
else
icon_state = "exposed_3_off"
- on = 0
-
return
process()
..()
+ if(stat & (NOPOWER|BROKEN))
+ return
if(!on)
return 0
+ use_power(5)
var/output_starting_pressure = air2.return_pressure()
- if(output_starting_pressure >= target_pressure)
+ if( (target_pressure - output_starting_pressure) < 0.01)
//No need to pump gas if target is already reached!
return 1
@@ -68,6 +69,7 @@ obj/machinery/atmospherics/binary/pump
if(network2)
network2.update = 1
+ use_power(round(air2.volume/12))
return 1
//Radio remote control
@@ -95,6 +97,22 @@ obj/machinery/atmospherics/binary/pump
radio_connection.post_signal(src, signal)
return 1
+ interact(mob/user as mob)
+ var/dat = {"Power: [on?"On":"Off"]
+ Desirable output pressure:
+ -
+ -
+ -
+ -
+ [round(target_pressure,0.1)]kPa
+ +
+ +
+ +
+ +
+ "}
+
+ user << browse("
[src.name] control[dat]", "window=atmo_pump")
+ onclose(user, "atmo_pump")
var/frequency = 0
var/id = null
@@ -138,19 +156,7 @@ obj/machinery/atmospherics/binary/pump
user << "\red Access denied."
return
usr.machine = src
- var/dat = {"Power: [on?"On":"Off"]
- Desirable output pressure:
- -
- -
- -
- [round(target_pressure,0.1)]kPa
- +
- +
- +
- "}
-
- user << browse("[src.name] control[dat]", "window=atmo_pump")
- onclose(user, "atmo_pump")
+ interact(user)
return
Topic(href,href_list)
@@ -158,6 +164,37 @@ obj/machinery/atmospherics/binary/pump
on = !on
if(href_list["out_press"])
src.target_pressure = max(0, min(4500, src.target_pressure + text2num(href_list["out_press"])))
+ usr.machine = src
src.update_icon()
src.updateUsrDialog()
return
+
+ power_change()
+ ..()
+ update_icon()
+
+ attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+ if (!istype(W, /obj/item/weapon/wrench))
+ return ..()
+ if (!(stat & NOPOWER) && on)
+ user << "\red You cannot unwrench this [src], turn it off first."
+ return 1
+ 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, 'Ratchet.ogg', 50, 1)
+ user << "\blue You begin to unfasten \the [src]..."
+ if (do_after(user, 40))
+ user.visible_message( \
+ "[user] unfastens \the [src].", \
+ "\blue You have unfastened \the [src].", \
+ "You hear ratchet.")
+ new /obj/item/weapon/pipe(loc, make_from=src)
+ del(src)
diff --git a/code/ATMOSPHERICS/components/filter.dm b/code/ATMOSPHERICS/components/filter.dm
index e744247e0e9..0d389aa82eb 100644
--- a/code/ATMOSPHERICS/components/filter.dm
+++ b/code/ATMOSPHERICS/components/filter.dm
@@ -347,6 +347,7 @@ obj/machinery/atmospherics/filter/attack_hand(user as mob) // -- TLE
Nitrous Oxide
Nothing
Desirable output pressure:
+ -
-
-
-
@@ -354,6 +355,7 @@ obj/machinery/atmospherics/filter/attack_hand(user as mob) // -- TLE
+
+
+
+ +
"}
/*
user << browse("[src.name] control[dat]","window=atmo_filter")
diff --git a/code/ATMOSPHERICS/components/portables_connector.dm b/code/ATMOSPHERICS/components/portables_connector.dm
index e35368ad69a..7065b256053 100644
--- a/code/ATMOSPHERICS/components/portables_connector.dm
+++ b/code/ATMOSPHERICS/components/portables_connector.dm
@@ -127,3 +127,29 @@
return null
+
+ attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+ if (!istype(W, /obj/item/weapon/wrench))
+ return ..()
+ if (connected_device)
+ user << "\red You cannot unwrench this [src], dettach [connected_device] first."
+ return 1
+ 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, 'Ratchet.ogg', 50, 1)
+ user << "\blue You begin to unfasten \the [src]..."
+ if (do_after(user, 40))
+ user.visible_message( \
+ "[user] unfastens \the [src].", \
+ "\blue You have unfastened \the [src].", \
+ "You hear ratchet.")
+ new /obj/item/weapon/pipe(loc, make_from=src)
+ del(src)
diff --git a/code/ATMOSPHERICS/components/unary/vent_pump.dm b/code/ATMOSPHERICS/components/unary/vent_pump.dm
index eb338e199b0..b7501df5efc 100644
--- a/code/ATMOSPHERICS/components/unary/vent_pump.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_pump.dm
@@ -6,14 +6,9 @@
desc = "Has a valve and pump attached to it"
level = 1
-
- high_volume
- name = "Large Air Vent"
-
- New()
- ..()
-
- air_contents.volume = 1000
+ var/channel = ENVIRON
+ var/area_uid
+ var/id = null
var/on = 0
var/pump_direction = 1 //0 = siphoning, 1 = releasing
@@ -28,6 +23,26 @@
var/welded = 0 // Added for aliens -- TLE
+ var/frequency = 1439
+ var/datum/radio_frequency/radio_connection
+
+
+ New()
+ var/area/A = get_area(loc)
+ if (A.master)
+ A = A.master
+ area_uid = A.uid
+ ..()
+ if (!id)
+ id = "\ref[src]"
+
+ high_volume
+ name = "Large Air Vent"
+ New()
+ ..()
+ channel = EQUIP
+ air_contents.volume = 1000
+
update_icon()
if(on && !(stat & (NOPOWER|BROKEN)))
if(pump_direction)
@@ -38,6 +53,7 @@
icon_state = "[level == 1 && istype(loc, /turf/simulated) ? "h" : "" ]off"
return
+
process()
..()
if(stat & (NOPOWER|BROKEN))
@@ -45,9 +61,10 @@
if (!node)
on = 0
broadcast_status()
-
if(!on)
return 0
+
+ use_power(5, channel)
if(welded)
return 0
@@ -67,8 +84,8 @@
var/transfer_moles = pressure_delta*environment.volume/(air_contents.temperature * R_IDEAL_GAS_EQUATION)
var/datum/gas_mixture/removed = air_contents.remove(transfer_moles)
-
- use_power(10, ENVIRON)
+
+ use_power(round(air_contents.volume/12), channel)
loc.assume_air(removed)
if(network)
@@ -76,7 +93,6 @@
else //external -> internal
var/pressure_delta = 10000
-
if(pressure_checks&1)
pressure_delta = min(pressure_delta, (environment_pressure - external_pressure_bound))
if(pressure_checks&2)
@@ -89,7 +105,9 @@
var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
if (isnull(removed)) //in space
return
- use_power(10, ENVIRON)
+
+
+ use_power(round(air_contents.volume/12), channel)
air_contents.merge(removed)
if(network)
@@ -114,21 +132,20 @@
signal.transmission_method = 1 //radio signal
signal.source = src
- signal.data["tag"] = id
+ signal.data["area"] = src.area_uid
+ signal.data["tag"] = src.id
signal.data["device"] = "AVP"
signal.data["power"] = on?("on"):("off")
signal.data["direction"] = pump_direction?("release"):("siphon")
signal.data["checks"] = pressure_checks
signal.data["internal"] = internal_pressure_bound
signal.data["external"] = external_pressure_bound
+ signal.data["timestamp"] = air_master.current_cycle
radio_connection.post_signal(src, signal)
return 1
- var/frequency = 0
- var/id = null
- var/datum/radio_frequency/radio_connection
initialize()
..()
@@ -137,7 +154,7 @@
update_icon()
receive_signal(datum/signal/signal)
- if(signal.data["tag"] && (signal.data["tag"] != id))
+ if(!signal.data["tag"] || (signal.data["tag"] != id))
return 0
switch(signal.data["command"])
@@ -185,6 +202,9 @@
external_pressure_bound = number
+ if("init")
+ name = signal.data["parameter"]
+
if(signal.data["tag"])
spawn(2)
broadcast_status()
@@ -225,8 +245,34 @@
usr << "It seems welded shut."
power_change()
- if(powered(ENVIRON))
+ if(powered(channel))
stat &= ~NOPOWER
else
stat |= NOPOWER
update_icon()
+
+ attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+ if (!istype(W, /obj/item/weapon/wrench))
+ return ..()
+ if (!(stat & NOPOWER) && on)
+ user << "\red You cannot unwrench this [src], turn it off first."
+ return 1
+ 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, 'Ratchet.ogg', 50, 1)
+ user << "\blue You begin to unfasten \the [src]..."
+ if (do_after(user, 40))
+ user.visible_message( \
+ "[user] unfastens \the [src].", \
+ "\blue You have unfastened \the [src].", \
+ "You hear ratchet.")
+ new /obj/item/weapon/pipe(loc, make_from=src)
+ del(src)
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index 03317e68bb9..cc35c9ded67 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -20,6 +20,16 @@
var/volume_rate = 120
var/panic = 0 //is this scrubber panicked?
+ var/area_uid
+
+ New()
+ var/area/A = get_area(loc)
+ if (A.master)
+ A = A.master
+ area_uid = A.uid
+ id_tag = "\ref[src]"
+ ..()
+
update_icon()
if(node && on && !(stat & (NOPOWER|BROKEN)))
if(scrubbing)
@@ -42,6 +52,8 @@
var/datum/signal/signal = new
signal.transmission_method = 1 //radio signal
+ signal.source = src
+ signal.data["area"] = area_uid
signal.data["tag"] = id_tag
signal.data["device"] = "AScr"
signal.data["timestamp"] = air_master.current_cycle
@@ -57,8 +69,8 @@
initialize()
..()
- set_frequency(frequency)
- update_icon()
+ if (frequency)
+ set_frequency(frequency)
process()
@@ -82,7 +94,8 @@
var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
if (isnull(removed)) //in space
return
- use_power(30, ENVIRON)
+ var/power = (scrub_Toxins+scrub_CO2+scrub_N2O)*volume_rate/12
+ use_power(round(power+5), ENVIRON)
//Filter it
var/datum/gas_mixture/filtered_out = new
filtered_out.temperature = removed.temperature
@@ -112,7 +125,9 @@
network.update = 1
else //Just siphoning all air
- use_power(volume_rate/12, ENVIRON)
+ if (air_contents.return_pressure()>=50*ONE_ATMOSPHERE)
+ return
+ use_power(round(volume_rate/12)+5, ENVIRON)
var/transfer_moles = environment.total_moles()*(volume_rate/environment.volume)
var/datum/gas_mixture/removed = loc.remove_air(transfer_moles)
@@ -137,7 +152,7 @@
*/
receive_signal(datum/signal/signal)
- if(signal.data["tag"] && (signal.data["tag"] != id_tag))
+ if(!signal.data["tag"] || (signal.data["tag"] != id_tag))
return ..()
switch(signal.data["command"])
@@ -160,6 +175,8 @@
else
scrubbing = 1
volume_rate = initial(volume_rate)
+ if("init")
+ name = signal.data["parameter"]
if(signal.data["tag"])
spawn(2)
broadcast_status()
@@ -172,3 +189,29 @@
else
stat |= NOPOWER
update_icon()
+
+ attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+ if (!istype(W, /obj/item/weapon/wrench))
+ return ..()
+ if (!(stat & NOPOWER) && on)
+ user << "\red You cannot unwrench this [src], turn it off first."
+ return 1
+ 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, 'Ratchet.ogg', 50, 1)
+ user << "\blue You begin to unfasten \the [src]..."
+ if (do_after(user, 40))
+ user.visible_message( \
+ "[user] unfastens \the [src].", \
+ "\blue You have unfastened \the [src].", \
+ "You hear ratchet.")
+ new /obj/item/weapon/pipe(loc, make_from=src)
+ del(src)
diff --git a/code/ATMOSPHERICS/components/valve.dm b/code/ATMOSPHERICS/components/valve.dm
index b15e00491b2..2769ef46791 100644
--- a/code/ATMOSPHERICS/components/valve.dm
+++ b/code/ATMOSPHERICS/components/valve.dm
@@ -150,19 +150,19 @@ obj/machinery/atmospherics/valve
for(var/obj/machinery/atmospherics/target in get_step(src,direction))
if(target.initialize_directions & get_dir(target,src))
connect_directions &= ~direction
-
node1 = target
break
- break
+ if(node1)
+ break
for(var/direction in cardinal)
if(direction&connect_directions)
for(var/obj/machinery/atmospherics/target in get_step(src,direction))
if(target.initialize_directions & get_dir(target,src))
-
node2 = target
break
- break
+ if(node1)
+ break
build_network()
if(!network_node1 && node1)
@@ -258,4 +258,30 @@ obj/machinery/atmospherics/valve
if(open)
close()
else
- open()
\ No newline at end of file
+ open()
+
+ attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+ if (!istype(W, /obj/item/weapon/wrench))
+ return ..()
+ if (istype(src, /obj/machinery/atmospherics/valve/digital))
+ user << "\red You cannot unwrench this [src], it's too complicated."
+ return 1
+ 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, 'Ratchet.ogg', 50, 1)
+ user << "\blue You begin to unfasten \the [src]..."
+ if (do_after(user, 40))
+ user.visible_message( \
+ "[user] unfastens \the [src].", \
+ "\blue You have unfastened \the [src].", \
+ "You hear ratchet.")
+ new /obj/item/weapon/pipe(loc, make_from=src)
+ del(src)
diff --git a/code/ATMOSPHERICS/init_S_V_A.dm b/code/ATMOSPHERICS/init_S_V_A.dm
deleted file mode 100644
index f5ecd07ce74..00000000000
--- a/code/ATMOSPHERICS/init_S_V_A.dm
+++ /dev/null
@@ -1,92 +0,0 @@
-datum/controller/game_controller
- proc/find_air_alarms()
- var/list/processed_areas = list()
- for(var/area/A in world)
- if(A in processed_areas) continue
- processed_areas += connect_area_atmos_machinery(A)
- return
-
-
-/proc/connect_area_atmos_machinery(var/area/A)
- var/area/M = A.master //we want to search master area, not only L(number) one
-
- var/uniq_id = md5(M.name)//hash works like a charm
- var/list/alarms = list()
- var/list/scrubbers = list()
- var/list/vents = list()
- var/list/processed_areas = list()
- var/i = 0 //used in id_tag and name generation
-
- if(M.related && M.related.len)//if has relatives
- for(var/area/Rel in M.related)//check all relatives
- if(Rel == M) continue //same parent area.
- processed_areas += Rel
- if(Rel.contents && Rel.contents.len)
- for(var/obj/machinery/O in Rel.contents)
- switch(O.type)
- if(/obj/machinery/alarm)
- alarms += O
- if(/obj/machinery/atmospherics/unary/vent_scrubber)
- if(O:id_tag) continue
- scrubbers += O
- if(/obj/machinery/atmospherics/unary/vent_pump)
- if(O:id) continue
- vents += O
- else continue
-/*
- for(var/obj/machinery/alarm/Al in Rel.contents)//find air alarms in area, append to list
- alarms += Al
- for(var/obj/machinery/atmospherics/unary/vent_scrubber/V in Rel.contents)//find scrubbers in area, append to list
- if(V.id_tag) continue//already connected to air alarm
- scrubbers += V
- for(var/obj/machinery/atmospherics/unary/vent_pump/P in Rel.contents)
- if(P.id) continue
- vents += P
-*/
-
- if(!alarms.len || (!scrubbers.len && !vents.len)) return
-
- i = 0
- if(scrubbers.len) //if scrubbers found in area
- for(var/obj/machinery/atmospherics/unary/vent_scrubber/Sc in scrubbers)//iterate over found scrubbers
-// if(Sc.id_tag) continue
- var/dist = 127 //max value returned by get_dist
- var/obj/machinery/alarm/target_alarm = null
- for(var/obj/machinery/alarm/Al in alarms)//iterate over found alarms
- var/temp_dist = get_dist(Sc.loc, Al.loc)//if distance between current scrubber and current alarm < previous distance, set this alarm as target to connect to
- if(temp_dist maximum_pressure)
- del(src)
+ burst()
else if(pressure_difference > fatigue_pressure)
+ //TODO: leak to turf, doing pfshhhhh
if(prob(5))
- del(src)
+ burst()
else return 1
+ proc/burst()
+ src.visible_message("\red \bold [src] bursts!");
+ playsound(src.loc, 'bang.ogg', 25, 1)
+ del(src)
+
Del()
if(node1)
node1.disconnect(src)
@@ -163,6 +169,8 @@ obj/machinery/atmospherics/pipe
return list(node1, node2)
update_icon()
+ if(dir==3) dir = 1
+ else if(dir==12) dir = 4
if(node1&&node2)
var/C = ""
switch(color)
@@ -173,49 +181,30 @@ obj/machinery/atmospherics/pipe
if ("yellow") C = "-y"
icon_state = "intact[C][invisibility ? "-f" : "" ]"
- var/node1_direction = get_dir(src, node1)
- var/node2_direction = get_dir(src, node2)
+ //var/node1_direction = get_dir(src, node1)
+ //var/node2_direction = get_dir(src, node2)
- dir = node1_direction|node2_direction
- if(dir==3) dir = 1
- else if(dir==12) dir = 4
+ //dir = node1_direction|node2_direction
else
- icon_state = "exposed[invisibility ? "-f" : "" ]"
+ var/have_node1 = node1?1:0
+ var/have_node2 = node2?1:0
+ icon_state = "exposed[have_node1][have_node2][invisibility ? "-f" : "" ]"
- if(node1)
- dir = get_dir(src,node1)
-
- else if(node2)
- dir = get_dir(src,node2)
-
- else
+ if(!node1&&!node2)
del(src)
initialize()
var/connect_directions = initialize_directions
-
-/* switch(dir)
- if(NORTH)
- connect_directions = NORTH|SOUTH
- if(SOUTH)
- connect_directions = NORTH|SOUTH
- if(EAST)
- connect_directions = EAST|WEST
- if(WEST)
- connect_directions = EAST|WEST
- else
- connect_directions = dir
-*/
for(var/direction in cardinal)
if(direction&connect_directions)
for(var/obj/machinery/atmospherics/target in get_step(src,direction))
if(target.initialize_directions & get_dir(target,src))
node1 = target
+ connect_directions &= ~direction
break
-
- connect_directions &= ~direction
- break
+ if (node1)
+ break
for(var/direction in cardinal)
@@ -223,13 +212,14 @@ obj/machinery/atmospherics/pipe
for(var/obj/machinery/atmospherics/target in get_step(src,direction))
if(target.initialize_directions & get_dir(target,src))
node2 = target
+ connect_directions &= ~direction
break
-
- connect_directions &= ~direction
- break
+ if(node2)
+ break
var/turf/T = src.loc // hide if turf is not intact
hide(T.intact)
+ update_icon()
//update_icon()
disconnect(obj/machinery/atmospherics/reference)
@@ -260,47 +250,69 @@ obj/machinery/atmospherics/pipe
level = 2
- simple/junction
+ simple/heat_exchanging/junction
icon = 'junction.dmi'
icon_state = "intact"
level = 2
-
- update_icon()
- if(istype(node1, /obj/machinery/atmospherics/pipe/simple/heat_exchanging))
- dir = get_dir(src, node1)
-
- if(node2)
- icon_state = "intact"
- else
- icon_state = "exposed"
-
- else if(istype(node2, /obj/machinery/atmospherics/pipe/simple/heat_exchanging))
- dir = get_dir(src, node2)
-
- if(node1)
- icon_state = "intact"
- else
- icon_state = "exposed"
-
- else
- icon_state = "exposed"
-
- simple/heat_exchanging
- icon = 'heat.dmi'
- icon_state = "3"
- level = 2
-
- minimum_temperature_difference = 20
- thermal_conductivity = WINDOW_HEAT_TRANSFER_COEFFICIENT
+ minimum_temperature_difference = 300
+ thermal_conductivity = WALL_HEAT_TRANSFER_COEFFICIENT
update_icon()
if(node1&&node2)
icon_state = "intact"
+ else
+ var/have_node1 = node1?1:0
+ var/have_node2 = node2?1:0
+ icon_state = "exposed[have_node1][have_node2]"
+ if(!node1&&!node2)
+ del(src)
- var/node1_direction = get_dir(src, node1)
- var/node2_direction = get_dir(src, node2)
+ initialize()
+ if(!node1)
+ for(var/obj/machinery/atmospherics/pipe/simple/target in get_step(src,initialize_directions))
+ if(target.initialize_directions & get_dir(target,src))
+ node1 = target
+ break
+ if(!node2)
+ for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,initialize_directions_he))
+ if(target.initialize_directions_he & get_dir(target,src))
+ node2 = target
+ break
+
+ update_icon()
+
+ simple/heat_exchanging
+ icon = 'heat.dmi'
+ icon_state = "intact"
+ level = 2
+ var/initialize_directions_he
+
+ minimum_temperature_difference = 20
+ thermal_conductivity = WINDOW_HEAT_TRANSFER_COEFFICIENT
+
+ initialize()
+ var/connect_directions = initialize_directions_he
+ for(var/direction in cardinal)
+ if(direction&connect_directions)
+ for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,direction))
+ if(target.initialize_directions_he & get_dir(target,src))
+ node1 = target
+ connect_directions &= ~direction
+ break
+ if (node1)
+ break
+
+ for(var/direction in cardinal)
+ if(direction&connect_directions)
+ for(var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/target in get_step(src,direction))
+ if(target.initialize_directions_he & get_dir(target,src))
+ node2 = target
+ connect_directions &= ~direction
+ break
+ if (node2)
+ break
+ update_icon()
- icon_state = "[node1_direction|node2_direction]"
tank
icon = 'pipe_tank.dmi'
@@ -426,6 +438,7 @@ obj/machinery/atmospherics/pipe
icon_state = "exposed"
initialize()
+
var/connect_direction = dir
for(var/obj/machinery/atmospherics/target in get_step(src,connect_direction))
@@ -665,10 +678,10 @@ obj/machinery/atmospherics/pipe
for(var/obj/machinery/atmospherics/target in get_step(src,direction))
if(target.initialize_directions & get_dir(target,src))
node1 = target
+ connect_directions &= ~direction
break
-
- connect_directions &= ~direction
- break
+ if (node1)
+ break
for(var/direction in cardinal)
@@ -676,10 +689,10 @@ obj/machinery/atmospherics/pipe
for(var/obj/machinery/atmospherics/target in get_step(src,direction))
if(target.initialize_directions & get_dir(target,src))
node2 = target
+ connect_directions &= ~direction
break
-
- connect_directions &= ~direction
- break
+ if (node2)
+ break
for(var/direction in cardinal)
@@ -687,11 +700,39 @@ obj/machinery/atmospherics/pipe
for(var/obj/machinery/atmospherics/target in get_step(src,direction))
if(target.initialize_directions & get_dir(target,src))
node3 = target
+ connect_directions &= ~direction
break
-
- connect_directions &= ~direction
- break
+ if (node3)
+ break
var/turf/T = src.loc // hide if turf is not intact
hide(T.intact)
//update_icon()
+ update_icon()
+
+obj/machinery/atmospherics/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
+ if (istype(W, /obj/machinery/atmospherics/pipe/tank))
+ return ..()
+ if (istype(W, /obj/machinery/atmospherics/pipe/vent))
+ return ..()
+ 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, 'Ratchet.ogg', 50, 1)
+ user << "\blue You begin to unfasten \the [src]..."
+ if (do_after(user, 40))
+ user.visible_message( \
+ "[user] unfastens \the [src].", \
+ "\blue You have unfastened \the [src].", \
+ "You hear ratchet.")
+ new /obj/item/weapon/pipe(loc, make_from=src)
+ del(src)
\ No newline at end of file
diff --git a/code/defines/obj/machinery.dm b/code/defines/obj/machinery.dm
index 2bae2c70ad2..c29fbc25917 100644
--- a/code/defines/obj/machinery.dm
+++ b/code/defines/obj/machinery.dm
@@ -10,7 +10,6 @@
anchored = 1.0
var/skipprocess = 0 //Experimenting
var/alarm_frequency = "1437"
- var/alarm_zone = null
/obj/machinery/autolathe
name = "Autolathe"
@@ -20,7 +19,7 @@
var/g_amount = 0.0
var/operating = 0.0
var/opened = 0.0
- var/temp = null
+ //var/temp = null
anchored = 1.0
var/list/L = list()
var/list/LL = list()
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 0dcb2954fbf..3dc15976f3b 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -1,8 +1,12 @@
// ===
+/area/
+ var/global/global_uid = 0
+ var/uid
/area/New()
src.icon = 'alert.dmi'
+ uid = ++global_uid
spawn(1)
//world.log << "New: [src] [tag]"
var/sd_created = findtext(tag,"sd_L")
diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm
index e8d096cd395..6dda692c475 100644
--- a/code/game/machinery/alarm.dm
+++ b/code/game/machinery/alarm.dm
@@ -6,25 +6,23 @@
var/list/sensor_information = list()
var/list/vent_information = list()
var/datum/radio_frequency/radio_connection
- var/alarm_area //Currently unused. Maybe do something if emmaged or hacked...Like change the area to security, syphon air out, ..., profit.
+ //var/alarm_area //Currently unused. Maybe do something if emmaged or hacked...Like change the area to security, syphon air out, ..., profit.
var/locked = 1
var/panic = 0 //is this alarm panicked?
var/device = null
+ var/area_uid
req_access = list(access_atmospherics)
attack_hand(mob/user)
- if(!(istype(usr, /mob/living/silicon) || istype(usr, /mob/living/carbon/human)))
- user << "\red You don't have the dexterity to do this."
- return
- if(stat & (NOPOWER|BROKEN))
+ . = ..()
+ if (.)
return
//Following is no longer needed, as all human/silicon mobs will be able to view air info.
/*else if(!(istype(usr, /mob/living/silicon)) && locked)
user << "\red You must unlock the Air Alarm interface first"
return*/
- src.add_fingerprint(user)
user << browse(return_text(),"window=air_alarm")
user.machine = src
@@ -33,23 +31,44 @@
receive_signal(datum/signal/signal)
- if(!signal || signal.encryption) return
-
+ if(stat & (NOPOWER|BROKEN))
+ return
+ if(!signal || signal.encryption)
+ return
var/id_tag = signal.data["tag"]
- if(!id_tag || (!sensors.Find(id_tag) && !vents.Find(id_tag))) return
+ if (!id_tag)
+ return
+ if (!signal.data["area"] || signal.data["area"] != area_uid)
+ return
+ if((!sensors.Find(id_tag) && !vents.Find(id_tag)))
+ register_env_machine(id_tag, signal.data["device"])
if(signal.data["device"] == "AScr")
sensor_information[id_tag] = signal.data
else if(signal.data["device"] == "AVP")
vent_information[id_tag] = signal.data
proc
+ register_env_machine(var/m_id, var/device_type)
+ var/area/A = get_area(loc)
+ var/new_name
+ if (device_type=="AVP")
+ new_name = "[A.name] Vent Pump #[vent_information.len+1]"
+ vents[m_id] = new_name
+ else if (device_type=="AScr")
+ new_name = "[A.name] Air Scrubber #[sensor_information.len+1]"
+ sensors[m_id] = new_name
+ else
+ return
+ spawn (10)
+ send_signal(m_id, "init", new_name )
+
set_frequency(new_frequency)
radio_controller.remove_object(src, "[frequency]")
frequency = new_frequency
radio_connection = radio_controller.add_object(src, "[frequency]")
- send_signal(var/target, var/command)//sends signal 'command' to 'target'. Returns 0 if no radio connection, 1 otherwise
+ send_signal(var/target, var/command, var/parameter = null)//sends signal 'command' to 'target'. Returns 0 if no radio connection, 1 otherwise
if(!radio_connection)
return 0
@@ -59,6 +78,8 @@
signal.data["tag"] = target
signal.data["command"] = command
+ if (parameter)
+ signal.data["parameter"] = parameter
radio_connection.post_signal(src, signal)
// world << text("Signal [] Broadcasted to []", command, target)
@@ -67,9 +88,9 @@
return_text()
if(!(istype(usr, /mob/living/silicon)) && locked)
- return "[alarm_zone] Air Alarm[return_status()]
(Swipe ID card to unlock interface)"
+ return "[src][return_status()]
(Swipe ID card to unlock interface)"
else
- return "[alarm_zone] Air Alarm[return_status()]
[return_controls()]"
+ return "[src][return_status()]
[return_controls()]"
return_status()
var/turf/location = src.loc
@@ -182,7 +203,7 @@
"}
output += "TOGGLE PANIC SYPHON IN AREA"
- output += "
Reinitialize atmospheric machinery in area"
+ //output += "
Reinitialize atmospheric machinery in area"
else
var/sensor_data
if(src.device == "Scrubbers")
@@ -200,6 +221,8 @@
sensor_part += "Dea":"red'>A")]ctivate panic syphon
"
if(data["panic"])
sensor_part += "PANIC SYPHON ACTIVATED"
+ if (data["timestamp"]+3 < air_master.current_cycle)
+ sensor_part += "[long_name] not responding.
"
sensor_part += "
"
else
sensor_part = "[long_name] can not be found!
"
@@ -217,14 +240,16 @@
if(data)
sensor_part += {"Operating: [data["power"]]
- Pressure checks: [data["checks"]?"on":"off"]
-
"}
+ Pressure checks: [data["checks"]?"on":"off"]
"}
+ if (data["timestamp"]+3 < air_master.current_cycle)
+ sensor_part += "[long_name] not responding.
"
+ sensor_part += "
"
else
sensor_part = "[long_name] can not be found!
"
sensor_data += sensor_part
else
- sensor_data = "No scrubbers connected.
"
+ sensor_data = "No vents connected.
"
output = {"[sensor_data]Main menu
"}
@@ -293,9 +318,9 @@
for(var/P in vents)
send_signal(P, "power_off")
panic = !panic
- if(href_list["reinit_atmos_machinery"])
+/* if(href_list["reinit_atmos_machinery"])
var/A = get_area(loc)
- connect_area_atmos_machinery(A)
+ connect_area_atmos_machinery(A)*/
spawn(5)
@@ -306,13 +331,12 @@
/obj/machinery/alarm/New()
..()
-
- if(!alarm_zone)
- var/area/A = get_area(loc)
- if(A.name)
- alarm_zone = A.name
- else
- alarm_zone = "Unregistered"
+ var/area/A = get_area(loc)
+ if (A.master)
+ A = A.master
+ area_uid = A.uid
+ if (name == "alarm")
+ name = "[A.name] Air Alarm"
/obj/machinery/alarm/process()
if (src.skipprocess)
@@ -404,16 +428,19 @@
if(!frequency) return
+ var/area/A = get_area(loc)
var/datum/signal/alert_signal = new
alert_signal.source = src
alert_signal.transmission_method = 1
- alert_signal.data["zone"] = alarm_zone
+ alert_signal.data["zone"] = A.name
alert_signal.data["type"] = "Atmospheric"
if(alert_level==0)
alert_signal.data["alert"] = "severe"
- else
+ else if (alert_level==1)
alert_signal.data["alert"] = "minor"
+ else if (alert_level==0)
+ alert_signal.data["alert"] = "clear"
frequency.post_signal(src, alert_signal)
@@ -432,6 +459,7 @@
if(src.allowed(usr))
locked = !locked
user << "You [ locked ? "lock" : "unlock"] the Air Alarm interface."
+ src.updateUsrDialog()
else
user << "\red Access denied."
return
diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm
index 6692f2b8fdc..50a16090a02 100644
--- a/code/game/machinery/atmo_control.dm
+++ b/code/game/machinery/atmo_control.dm
@@ -491,12 +491,14 @@ Rate: [volume_rate] L/sec
"}
if(!zone || !severity) return
+ minor_alarms -= zone
+ priority_alarms -= zone
if(severity=="severe")
- priority_alarms -= zone
priority_alarms += zone
- else
- minor_alarms -= zone
+ else if (severity=="minor")
minor_alarms += zone
+ else /*"clear"*/
+ //do nothing
proc
set_frequency(new_frequency)
diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm
index f18d2f26d4f..f2a73a52e0f 100644
--- a/code/game/machinery/atmoalter/canister.dm
+++ b/code/game/machinery/atmoalter/canister.dm
@@ -178,7 +178,7 @@ Release Pressure: - Close
"}
- user << browse(output_text, "window=canister;size=600x300")
+ user << browse("[src][output_text]", "window=canister;size=600x300")
onclose(user, "canister")
return
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 593581903f9..821db91891f 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -12,10 +12,11 @@ Pod/Blast Doors computer
return 1
if(usr.restrained() || usr.lying || usr.stat)
return 1
- if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
- if (!istype(usr, /mob/living/silicon))
- usr << "\red You don't have the dexterity to do this!"
- return 1
+ if ( ! (istype(usr, /mob/living/carbon/human) || \
+ istype(usr, /mob/living/silicon) || \
+ istype(usr, /mob/living/carbon/monkey) && ticker && ticker.mode.name == "monkey") )
+ usr << "\red You don't have the dexterity to do this!"
+ return 1
if ((!in_range(src, usr) || !istype(src.loc, /turf)) && !istype(usr, /mob/living/silicon))
return 1
src.add_fingerprint(usr)
@@ -28,14 +29,15 @@ Pod/Blast Doors computer
return src.attack_hand(user)
/obj/machinery/attack_hand(mob/user as mob)
- if(stat & (NOPOWER|BROKEN))
+ if(stat & (NOPOWER|BROKEN|MAINT))
return 1
if(user.lying || user.stat)
return 1
- if (!(istype(usr, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
- if (!istype(user, /mob/living/silicon))
- usr << "\red You don't have the dexterity to do this!"
- return 1
+ if ( ! (istype(usr, /mob/living/carbon/human) || \
+ istype(usr, /mob/living/silicon) || \
+ istype(usr, /mob/living/carbon/monkey) && ticker && ticker.mode.name == "monkey") )
+ usr << "\red You don't have the dexterity to do this!"
+ return 1
if ((get_dist(src, user) > 1 || !istype(src.loc, /turf)) && !istype(user, /mob/living/silicon))
return 1
if (ishuman(user))
diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm
index 6373e77cc7b..4987faacb37 100644
--- a/code/game/machinery/cryo.dm
+++ b/code/game/machinery/cryo.dm
@@ -93,12 +93,12 @@
Current occupant: [src.occupant ? "
Name: [src.occupant]
Health: [health_text]
Oxygen deprivation: [round(src.occupant.oxyloss,0.1)]
Brute damage: [round(src.occupant.bruteloss,0.1)]
Fire damage: [round(src.occupant.fireloss,0.1)]
Toxin damage: [round(src.occupant.toxloss,0.1)]
Body temperature: [src.occupant.bodytemperature]" : "None"]
"}
-
+ user.machine = src
user << browse(dat, "window=cryo")
onclose(user, "cryo")
Topic(href, href_list)
- if (( usr.machine==src && ((get_dist(src, usr) <= 1) && istype(src.loc, /turf))) || (istype(usr, /mob/living/silicon/ai)))
+ if ((get_dist(src, usr) <= 1) || istype(usr, /mob/living/silicon/ai))
if(href_list["start"])
src.on = !src.on
build_icon()
@@ -113,33 +113,19 @@
attackby(var/obj/item/weapon/G as obj, var/mob/user as mob)
if(istype(G, /obj/item/weapon/reagent_containers/glass))
if(src.beaker)
- user << "A beaker is already loaded into the machine."
+ user << "\red A beaker is already loaded into the machine."
return
src.beaker = G
user.drop_item()
G.loc = src
- user.visible_message("[user] adds a beaker to \the [src]!", "You add a beaker to the [src]!")
+ user.visible_message("[user] adds \a [G] to \the [src]!", "You add \a [G] to \the [src]!")
else if(istype(G, /obj/item/weapon/grab))
if(!ismob(G:affecting))
return
- if (src.occupant)
- user << "\blue The cryo cell is already occupied!"
- return
- if (G:affecting.abiotic())
- user << "Subject may not have abiotic items on."
- return
var/mob/M = G:affecting
- if (M.client)
- M.client.perspective = EYE_PERSPECTIVE
- M.client.eye = src
- M.loc = src
- src.occupant = M
- for(var/obj/O in src)
- O.loc = src.loc
- src.add_fingerprint(user)
- build_icon()
- del(G)
+ if(put_mob(M))
+ del(G)
src.updateUsrDialog()
return
@@ -224,6 +210,26 @@
src.occupant = null
build_icon()
return
+ put_mob(mob/M as mob)
+ if (src.occupant)
+ usr << "\red The cryo cell is already occupied!"
+ return
+ if (M.abiotic())
+ usr << "\red Subject may not have abiotic items on."
+ return
+ if(!src.node)
+ usr << "\red The cell is not corrrectly connected to its pipe network!"
+ return
+ if (M.client)
+ M.client.perspective = EYE_PERSPECTIVE
+ M.client.eye = src
+ M.pulling = null
+ M.loc = src
+ src.occupant = M
+ M.metabslow = 1
+ src.add_fingerprint(usr)
+ build_icon()
+ return 1
verb
move_eject()
@@ -240,25 +246,7 @@
set src in oview(1)
if (usr.stat != 0 || stat & (NOPOWER|BROKEN))
return
- if (src.occupant)
- usr << "\blue The cell is already occupied!"
- return
- if (usr.abiotic())
- usr << "Subject may not have abiotic items on."
- return
- if(!src.node)
- usr << "The cell is not corrrectly connected to its pipe network!"
- return
- usr.pulling = null
- usr.client.perspective = EYE_PERSPECTIVE
- usr.client.eye = src
- usr.loc = src
- usr.metabslow = 1
- src.occupant = usr
- /*for(var/obj/O in src)
- O.loc = src.loc*/
- src.add_fingerprint(usr)
- build_icon()
+ put_mob(usr)
return
diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm
index 60dd958b329..2cbfd8cefa9 100644
--- a/code/game/machinery/pipe/construction.dm
+++ b/code/game/machinery/pipe/construction.dm
@@ -2,38 +2,111 @@
Buildable pipes
Buildable meters
*/
+#define PIPE_SIMPLE_STRAIGHT 0
+#define PIPE_SIMPLE_BENT 1
+#define PIPE_HE_STRAIGHT 2
+#define PIPE_HE_BENT 3
+#define PIPE_CONNECTOR 4
+#define PIPE_MANIFOLD 5
+#define PIPE_JUNCTION 6
+#define PIPE_UVENT 7
+#define PIPE_MVALVE 8
+#define PIPE_PUMP 9
+#define PIPE_SCRUBBER 10
+#define PIPE_INSULATED_STRAIGHT 11
+#define PIPE_INSULATED_BENT 12
/obj/item/weapon/pipe
name = "pipe"
desc = "A pipe"
var/pipe_type = 0
- var/pipe_dir = 0
+ //var/pipe_dir = 0
+ var/pipename
icon = 'pipe-item.dmi'
- icon_state = "straight"
+ icon_state = "simple"
item_state = "buildpipe"
flags = TABLEPASS|FPRINT
w_class = 4
level = 2
-
-/obj/item/weapon/pipe/New()
+ //TODO: список номер_типа -> тип
+/obj/item/weapon/pipe/New(var/loc, var/pipe_type as num, var/dir as num, var/obj/machinery/atmospherics/make_from = null)
..()
+ if (make_from)
+ src.dir = make_from.dir
+ src.pipename = make_from.name
+ var/is_bent
+ if (make_from.initialize_directions in list(NORTH|SOUTH, WEST|EAST))
+ is_bent = 0
+ else
+ is_bent = 1
+ if (istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction))
+ src.pipe_type = PIPE_JUNCTION
+ else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging))
+ src.pipe_type = PIPE_HE_STRAIGHT + is_bent
+ else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple))
+ src.pipe_type = PIPE_SIMPLE_STRAIGHT + is_bent
+ else if(istype(make_from, /obj/machinery/atmospherics/portables_connector))
+ src.pipe_type = PIPE_CONNECTOR
+ else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold))
+ src.pipe_type = PIPE_MANIFOLD
+ else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_pump))
+ src.pipe_type = PIPE_UVENT
+ else if(istype(make_from, /obj/machinery/atmospherics/valve))
+ src.pipe_type = PIPE_MVALVE
+ else if(istype(make_from, /obj/machinery/atmospherics/binary/pump))
+ src.pipe_type = PIPE_PUMP
+ else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_scrubber))
+ src.pipe_type = PIPE_SCRUBBER
+ else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/insulated))
+ src.pipe_type = PIPE_INSULATED_STRAIGHT + is_bent
+ if (is_bent)
+ src.dir = make_from.initialize_directions //workaround. Bent pipes with one node==null have cardinal direction. - rastaf0
+ else
+ src.pipe_type = pipe_type
+ src.dir = dir
+ //src.pipe_dir = get_pipe_dir()
update()
//update the name and icon of the pipe item depending on the type
/obj/item/weapon/pipe/proc/update()
- var/list/nlist = list("pipe", "bent pipe", "h/e pipe", "bent h/e pipe", "connector", "manifold", "junction", "uvent", "mvalve", "pump", "scrubber")
+ var/list/nlist = list( \
+ "pipe", \
+ "bent pipe", \
+ "h/e pipe", \
+ "bent h/e pipe", \
+ "connector", \
+ "manifold", \
+ "junction", \
+ "uvent", \
+ "mvalve", \
+ "pump", \
+ "scrubber", \
+ "insulated pipe", \
+ "bent insulated pipe", \
+ )
name = nlist[pipe_type+1] + " fitting"
+ var/list/islist = list( \
+ "simple", \
+ "simple", \
+ "he", \
+ "he", \
+ "connector", \
+ "manifold", \
+ "junction", \
+ "uvent", \
+ "mvalve", \
+ "pump", \
+ "scrubber", \
+ "insulated", \
+ "insulated", \
+ )
+ icon_state = islist[pipe_type + 1]
updateicon()
//update the icon of the item
/obj/item/weapon/pipe/proc/updateicon()
-
- var/list/islist = list("straight", "bend", "he-straight", "he-bend", "connector", "manifold", "junction", "uvent", "mvalve", "pump", "scrubber")
-
- icon_state = islist[pipe_type + 1]
-
if(invisibility) // true if placed under floor
icon -= rgb(0,0,0,128) // fade the icon
else
@@ -60,318 +133,274 @@ Buildable meters
if ( usr.stat || usr.restrained() )
return
- switch(pipe_type)
- if(0)
- if(icon_state == "straight")
- pipe_dir = 12
- icon_state = "straight12"
- else if (icon_state == "straight12")
- pipe_dir = 3
- icon_state = "straight"
- if(1)
- if(icon_state == "bend9")
- icon_state = "bend"
- pipe_dir = 10
- else if(icon_state == "bend")
- icon_state = "bend6"
- pipe_dir = 6
- else if(icon_state == "bend6")
- icon_state = "bend5"
- pipe_dir = 5
- else if(icon_state == "bend5")
- icon_state = "bend9"
- pipe_dir = 9
-
- if(2)
- if(icon_state == "he-straight")
- icon_state = "he-straight12"
- pipe_dir = 12
- else if(icon_state == "he-straight12")
- icon_state = "he-straight"
- pipe_dir = 3
-
- if(3)
- if(icon_state == "he-bend")
- icon_state = "he-bend9"
- pipe_dir = 9
- else if(icon_state == "he-bend6")
- icon_state = "he-bend"
- pipe_dir = 10
- else if(icon_state == "he-bend5")
- icon_state = "he-bend6"
- pipe_dir = 6
- else if(icon_state == "he-bend9")
- icon_state = "he-bend5"
- pipe_dir = 5
-
- if(4,7,5,6,7,8,9,10)
- src.dir = turn(src.dir, -90)
+ src.dir = turn(src.dir, -90)
+ //src.pipe_dir = get_pipe_dir()
return
-// returns the p_dir from the pipe item type and dir
+/obj/item/weapon/pipe/Move()
+ var/dir = src.dir
+ ..()
+ src.dir = dir
+ return
-/obj/item/weapon/pipe/proc/get_pdir()
+// returns all pipe's endpoints
+/obj/item/weapon/pipe/proc/get_pipe_dir()
+ if (!dir)
+ return 0
var/flip = turn(dir, 180)
var/cw = turn(dir, -90)
var/acw = turn(dir, 90)
switch(pipe_type)
- if(0)
- if(pipe_dir == 0)
- pipe_dir = 3
- return pipe_dir
- if(1)
- if(pipe_dir == 0)
- pipe_dir = 10
- return pipe_dir
- if(2,3)
- return 0
- if(4,7,10)
+ if( PIPE_SIMPLE_STRAIGHT, \
+ PIPE_INSULATED_STRAIGHT, \
+ PIPE_HE_STRAIGHT, \
+ PIPE_JUNCTION ,\
+ PIPE_PUMP ,\
+ PIPE_MVALVE \
+ )
+ return dir|flip
+ if(PIPE_SIMPLE_BENT, PIPE_INSULATED_BENT, PIPE_HE_BENT)
+ return dir //dir|acw
+ if(PIPE_CONNECTOR,PIPE_UVENT,PIPE_SCRUBBER)
return dir
- if(5)
- return dir|cw|acw
- if(6)
+ if(PIPE_MANIFOLD)
+ return flip|cw|acw
+ return 0
+
+/obj/item/weapon/pipe/proc/get_pdir() //endpoints for regular pipes
+
+ var/flip = turn(dir, 180)
+// var/cw = turn(dir, -90)
+// var/acw = turn(dir, 90)
+
+ if (!(pipe_type in list(PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_JUNCTION)))
+ return get_pipe_dir()
+ switch(pipe_type)
+ if(PIPE_HE_STRAIGHT,PIPE_HE_BENT)
+ return 0
+ if(PIPE_JUNCTION)
return flip
return 0
// return the h_dir (heat-exchange pipes) from the type and the dir
-/obj/item/weapon/pipe/proc/get_hdir()
+/obj/item/weapon/pipe/proc/get_hdir() //endpoints for h/e pipes
// var/flip = turn(dir, 180)
// var/cw = turn(dir, -90)
switch(pipe_type)
- if(0,1,4,5,7,10)
- return 0
- if(2)
- if(pipe_dir == 0)
- pipe_dir = 3
- return pipe_dir
- if(3)
- if(pipe_dir == 0)
- pipe_dir = 10
- return pipe_dir
- if(6)
+ if(PIPE_HE_STRAIGHT)
+ return get_pipe_dir()
+ if(PIPE_HE_BENT)
+ return get_pipe_dir()
+ if(PIPE_JUNCTION)
return dir
+ else
+ return 0
- return 0
+/obj/item/weapon/pipe/attack_self(mob/user as mob)
+ return rotate()
/obj/item/weapon/pipe/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
//*
- if (istype(W, /obj/item/weapon/wrench))
+ if (!istype(W, /obj/item/weapon/wrench))
+ return ..()
+ if (!isturf(src.loc))
+ return 1
+ var/pipe_dir = get_pipe_dir()
- var/pipedir = src.get_pdir()|src.get_hdir() // all possible pipe dirs including h/e#
+ for(var/obj/machinery/atmospherics/M in src.loc)
+ if(M.initialize_directions & pipe_dir) // matches at least one direction on either type of pipe
+ user << "\red There is already a pipe at that location."
+ return 1
+ // no conflicts found
- for(var/obj/machinery/atmospherics/M in src.loc)
- if( (M.initialize_directions & pipedir) || (M.initialize_directions & pipedir) ) // matches at least one direction on either type of pipe
- user << "There is already a pipe at that location."
- return
- playsound(src.loc, 'Ratchet.ogg', 50, 1)
+ var/pipefailtext = "\red There's nothing to connect this pipe section to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)"
- // no conflicts found
+ switch(pipe_type)
+ if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT)
+ var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc )
+ P.dir = src.dir
+ P.initialize_directions = pipe_dir
+ var/turf/T = P.loc
+ P.level = T.intact ? 2 : 1
+ P.initialize()
+ if (!P)
+ usr << pipefailtext
+ return 1
+ P.build_network()
+ if (P.node1)
+ P.node1.initialize()
+ P.node1.build_network()
+ if (P.node2)
+ P.node2.initialize()
+ P.node2.build_network()
- // 0 1 2 3 4 5 6 7 8 9 10
- //"pipe", "bent pipe", "h/e pipe", "bent h/e pipe", "connector", "manifold", "junction", "vent", "valve", "pump", "filter inlet"
+ if(PIPE_HE_STRAIGHT, PIPE_HE_BENT)
+ var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/P = new ( src.loc )
+ P.dir = src.dir
+ P.initialize_directions = 0
+ P.initialize_directions_he = pipe_dir
+ //var/turf/T = P.loc
+ //P.level = T.intact ? 2 : 1
+ P.initialize()
+ if (!P)
+ usr << pipefailtext
+ return 1
+ P.build_network()
+ if (P.node1)
+ P.node1.initialize()
+ P.node1.build_network()
+ if (P.node2)
+ P.node2.initialize()
+ P.node2.build_network()
+
+ if(PIPE_CONNECTOR) // connector
+ var/obj/machinery/atmospherics/portables_connector/C = new( src.loc )
+ C.dir = dir
+ C.initialize_directions = pipe_dir
+ if (pipename)
+ C.name = pipename
+ C.initialize()
+ C.build_network()
+ if (C.node)
+ C.node.initialize()
+ C.node.build_network()
+ if(PIPE_MANIFOLD) //manifold
+ var/obj/machinery/atmospherics/pipe/manifold/M = new( src.loc )
+ M.dir = dir
+ M.initialize_directions = pipe_dir
+ //M.New()
+ var/turf/T = M.loc
+ M.level = T.intact ? 2 : 1
+ M.initialize()
+ if (!M)
+ usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)"
+ return 1
+ M.build_network()
+ if (M.node1)
+ M.node1.initialize()
+ M.node1.build_network()
+ if (M.node2)
+ M.node2.initialize()
+ M.node2.build_network()
+ if (M.node3)
+ M.node3.initialize()
+ M.node3.build_network()
- switch(pipe_type)
- if(0) // straight pipe
- var/obj/machinery/atmospherics/pipe/simple/P = new /obj/machinery/atmospherics/pipe/simple( src.loc )
- switch (icon_state)
- if("straight")
- P.dir = NORTH
- P.initialize_directions = NORTH|SOUTH
- if("straight12")
- P.dir = EAST
- P.initialize_directions = EAST|WEST
- var/turf/T = P.loc
- switch (T.intact)
- if(1) P.level = 2
- if(0) P.level = 1
- P.initialize()
- if (P)
- P.build_network()
- if (P.node1)
- P.node1.initialize()
- P.node1.build_network()
- if (P.node2)
- P.node2:initialize()
- P.node2.build_network()
- else
- usr << "There's nothing to connect this pipe section to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)"
- return
-
- if(1) // bent pipe
- var/obj/machinery/atmospherics/pipe/simple/P = new /obj/machinery/atmospherics/pipe/simple( src.loc )
- switch (icon_state)
- if("bend")
- P.dir = SOUTHWEST
- P.initialize_directions = SOUTH|WEST
- if("bend6")
- P.dir = SOUTHEAST
- P.initialize_directions = SOUTH|EAST
- if("bend5")
- P.dir = NORTHEAST
- P.initialize_directions = NORTH|EAST
- if("bend9")
- P.dir = NORTHWEST
- P.initialize_directions = NORTH|WEST
- var/turf/T = P.loc
- switch (T.intact)
- if(1) P.level = 2
- if(0) P.level = 1
- P.initialize()
- if (P)
- P.build_network()
- if (P.node1)
- P.node1.initialize()
- P.node1.build_network()
- if (P.node2)
- P.node2:initialize()
- P.node2.build_network()
- else
- usr << "There's nothing to connect this pipe section to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)"
- return
-
+ if(PIPE_JUNCTION)
+ var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new ( src.loc )
+ P.dir = src.dir
+ P.initialize_directions = src.get_pdir()
+ P.initialize_directions_he = src.get_hdir()
+ //var/turf/T = P.loc
+ //P.level = T.intact ? 2 : 1
+ P.initialize()
+ if (!P)
+ usr << "There's nothing to connect this junction to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)"
+ return 1
+ P.build_network()
+ if (P.node1)
+ P.node1.initialize()
+ P.node1.build_network()
+ if (P.node2)
+ P.node2.initialize()
+ P.node2.build_network()
/*
- if(2,3) // straight or bent h/e pipe
- P = new/obj/machinery/pipes/heat_exch( src.loc )
- P.h_dir = get_hdir()
- P.icon_state = get_hdir()
- P.level = 2
- P.update()
-
- var/list/dirs = P.get_dirs()
+ if(6) //junctions
+ var/obj/machinery/junction/J = new( src.loc )
+ J.dir = dir
+ J.p_dir = src.get_pdir()
+ J.h_dir = src.get_hdir()
+ J.level = 2
*/
-
- if(4) // connector
- var/obj/machinery/atmospherics/portables_connector/C = new( src.loc )
- C.dir = dir
- C.initialize_directions = dir
-/* var/turf/T = C.loc
- switch (T.intact)
- if(1) V.level = 2
- if(0) V.level = 1*/
- C.initialize()
- C.build_network()
- if (C.node)
- C.node.initialize()
- C.node.build_network()
+ if(PIPE_UVENT) //unary vent
+ var/obj/machinery/atmospherics/unary/vent_pump/V = new( src.loc )
+ V.dir = dir
+ V.initialize_directions = pipe_dir
+ if (pipename)
+ V.name = pipename
+ V.initialize()
+ V.build_network()
+ if (V.node)
+ V.node.initialize()
+ V.node.build_network()
- if(5) //manifold
- var/obj/machinery/atmospherics/pipe/manifold/M = new( src.loc )
- M.dir = dir
- M.New()
- var/turf/T = M.loc
- switch (T.intact)
- if(1) M.level = 2
- if(0) M.level = 1
- M.initialize()
- if (M)
- M.build_network()
- if (M.node1)
- M.node1.initialize()
- M.node1.build_network()
- if (M.node2)
- M.node2.initialize()
- M.node2.build_network()
- if (M.node3)
- M.node3.initialize()
- M.node3.build_network()
- else
- usr << "There's nothing to connect this manifold to! (with how the pipe code works, at least one end needs to be connected to something, otherwise the game deletes the segment)"
- return
-/*
- if(6) //junctions
- var/obj/machinery/junction/J = new( src.loc )
- J.dir = dir
- J.p_dir = src.get_pdir()
- J.h_dir = src.get_hdir()
- J.level = 2
-*/
- if(7) //unary vent
- var/obj/machinery/atmospherics/unary/vent_pump/V = new( src.loc )
- V.dir = dir
- V.initialize_directions = dir
-/* var/turf/T = V.loc
- switch (T.intact)
- if(1) V.level = 2
- if(0) V.level = 1*/
- V.initialize()
- V.build_network()
- if (V.node)
- V.node.initialize()
- V.node.build_network()
-
-
- if(8) //manual valve
- var/obj/machinery/atmospherics/valve/V = new( src.loc)
- V.dir = dir
- switch(dir)
- if(NORTH)
- V.initialize_directions = NORTH|SOUTH
- if(SOUTH)
- V.initialize_directions = NORTH|SOUTH
- if(EAST)
- V.initialize_directions = EAST|WEST
- if(WEST)
- V.initialize_directions = EAST|WEST
-/* var/turf/T = V.loc
- switch (T.intact)
- if(1) V.level = 2
- if(0) V.level = 1*/
- V.initialize()
- V.build_network()
- if (V.node1)
+ if(PIPE_MVALVE) //manual valve
+ var/obj/machinery/atmospherics/valve/V = new( src.loc)
+ V.dir = dir
+ V.initialize_directions = pipe_dir
+ if (pipename)
+ V.name = pipename
+ V.initialize()
+ V.build_network()
+ if (V.node1)
// world << "[V.node1.name] is connected to valve, forcing it to update its nodes."
- V.node1.initialize()
- V.node1.build_network()
- if (V.node2)
+ V.node1.initialize()
+ V.node1.build_network()
+ if (V.node2)
// world << "[V.node2.name] is connected to valve, forcing it to update its nodes."
- V.node2.initialize()
- V.node2.build_network()
+ V.node2.initialize()
+ V.node2.build_network()
- if(9) //gas pump
- var/obj/machinery/atmospherics/binary/pump/P = new(src.loc)
- P.dir = dir
- P.New()
-/* var/turf/T = P.loc
- switch (T.intact)
- if(1) P.level = 2
- if(0) P.level = 1*/
- P.initialize()
- P.build_network()
- if (P.node1)
- P.node1.initialize()
- P.node1.build_network()
- if (P.node2)
- P.node2.initialize()
- P.node2.build_network()
+ if(PIPE_PUMP) //gas pump
+ var/obj/machinery/atmospherics/binary/pump/P = new(src.loc)
+ P.dir = dir
+ P.initialize_directions = pipe_dir
+ if (pipename)
+ P.name = pipename
+ P.initialize()
+ P.build_network()
+ if (P.node1)
+ P.node1.initialize()
+ P.node1.build_network()
+ if (P.node2)
+ P.node2.initialize()
+ P.node2.build_network()
- if(10) //scrubber
- var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc)
- S.dir = dir
- S.initialize_directions = dir
-/* var/turf/T = S.loc
- switch (T.intact)
- if(1) V.level = 2
- if(0) V.level = 1*/
- S.initialize()
- S.build_network()
- if (S.node)
- S.node.initialize()
- S.node.build_network()
+ if(PIPE_SCRUBBER) //scrubber
+ var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc)
+ S.dir = dir
+ S.initialize_directions = pipe_dir
+ if (pipename)
+ S.name = pipename
+ S.initialize()
+ S.build_network()
+ if (S.node)
+ S.node.initialize()
+ S.node.build_network()
+ if(PIPE_INSULATED_STRAIGHT, PIPE_INSULATED_BENT)
+ var/obj/machinery/atmospherics/pipe/simple/insulated/P = new( src.loc )
+ P.dir = src.dir
+ P.initialize_directions = pipe_dir
+ var/turf/T = P.loc
+ P.level = T.intact ? 2 : 1
+ P.initialize()
+ if (!P)
+ usr << pipefailtext
+ return 1
+ P.build_network()
+ if (P.node1)
+ P.node1.initialize()
+ P.node1.build_network()
+ if (P.node2)
+ P.node2.initialize()
+ P.node2.build_network()
-
-
- user << "You have fastened the pipe"
- del(src) // remove the pipe item
+ playsound(src.loc, 'Ratchet.ogg', 50, 1)
+ user.visible_message( \
+ "[user] fastens the pipe.", \
+ "\blue You have fastened the pipe.", \
+ "You hear ratchet.")
+ del(src) // remove the pipe item
return
//TODO: DEFERRED
@@ -391,13 +420,26 @@ Buildable meters
/obj/item/weapon/pipe_meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
- if (istype(W, /obj/item/weapon/wrench))
- if(locate(/obj/machinery/atmospherics/pipe, src.loc))
- new/obj/machinery/meter( src.loc )
- playsound(src.loc, 'Ratchet.ogg', 50, 1)
- user << "You have fastened the meter to the pipe"
- del(src)
- else
- user << "You need to fasten it to a pipe"
- return
+ if (!istype(W, /obj/item/weapon/wrench))
+ return ..()
+ if(!locate(/obj/machinery/atmospherics/pipe, src.loc))
+ user << "\red You need to fasten it to a pipe"
+ return 1
+ new/obj/machinery/meter( src.loc )
+ playsound(src.loc, 'Ratchet.ogg', 50, 1)
+ user << "\blue You have fastened the meter to the pipe"
+ del(src)
+#undef PIPE_SIMPLE_STRAIGHT
+#undef PIPE_SIMPLE_BENT
+#undef PIPE_HE_STRAIGHT
+#undef PIPE_HE_BENT
+#undef PIPE_CONNECTOR
+#undef PIPE_MANIFOLD
+#undef PIPE_JUNCTION
+#undef PIPE_UVENT
+#undef PIPE_MVALVE
+#undef PIPE_PUMP
+#undef PIPE_SCRUBBER
+#undef PIPE_INSULATED_STRAIGHT
+#undef PIPE_INSULATED_BENT
diff --git a/code/game/machinery/pipe/pipe_dispenser.dm b/code/game/machinery/pipe/pipe_dispenser.dm
index 564d4c7820f..4ce7cb87d68 100644
--- a/code/game/machinery/pipe/pipe_dispenser.dm
+++ b/code/game/machinery/pipe/pipe_dispenser.dm
@@ -11,19 +11,28 @@
/obj/machinery/pipedispenser/attack_hand(user as mob)
if(..())
return
-
var/dat = {"
-Pipe
-Bent Pipe
-Connector
-Manifold
-Unary Vent
-Manual Valve
-Gas Pump
-Scrubber
"}
+Regular pipes:
+Pipe
+Bent Pipe
+Connector
+Manifold
+Unary Vent
+Manual Valve
+Gas Pump
+Scrubber
+Meter
+Heat exchange:
+Pipe
+Bent Pipe
+Junction
+Insulated pipes:
+Pipe
+Bent Pipe
+"}
- user << browse("Pipe Dispenser[dat]", "window=pipedispenser")
+ user << browse("[src][dat]", "window=pipedispenser")
onclose(user, "pipedispenser")
return
@@ -34,13 +43,15 @@
src.add_fingerprint(usr)
if(href_list["make"])
var/p_type = text2num(href_list["make"])
- var/obj/item/weapon/pipe/P = new /obj/item/weapon/pipe(src.loc)
- P.pipe_type = p_type
+ var/p_dir = text2num(href_list["dir"])
+ var/obj/item/weapon/pipe/P = new (usr.loc, pipe_type=p_type, dir=p_dir)
P.update()
+ if(href_list["makemeter"])
+ new /obj/item/weapon/pipe_meter(usr.loc)
- for(var/mob/M in viewers(1, src))
+/* for(var/mob/M in viewers(1, src))
if ((M.client && M.machine == src))
- src.attack_hand(M)
+ src.attack_hand(M)*/
return
/obj/machinery/pipedispenser/New()
@@ -67,7 +78,7 @@
Trunk
"}
- user << browse("Disposal Pipe Dispenser[dat]", "window=pipedispenser")
+ user << browse("[src][dat]", "window=pipedispenser")
return
// 0=straight, 1=bent, 2=junction-j1, 3=junction-j2, 4=junction-y, 5=trunk
diff --git a/code/game/machinery/processor.dm b/code/game/machinery/processor.dm
index ca1b9b06bf7..fc99311783c 100644
--- a/code/game/machinery/processor.dm
+++ b/code/game/machinery/processor.dm
@@ -115,14 +115,14 @@
src.processing = 1
user.visible_message("\blue [user] turns on \a [src].", \
"You turn on \a [src].", \
- "You hear food processor")
+ "You hear a food processor")
playsound(src.loc, 'blender.ogg', 50, 1)
use_power(50)
sleep(P.time)
P.process(src.loc, O)
src.processing = 0
src.visible_message("\blue \the [src] finished processing.", \
- "You hear food processor stop")
+ "You hear food processor stops")
diff --git a/code/game/machinery/singularity.dm b/code/game/machinery/singularity.dm
index f3d44c320e4..7d68e9cf9d2 100644
--- a/code/game/machinery/singularity.dm
+++ b/code/game/machinery/singularity.dm
@@ -217,11 +217,14 @@ However people seem to like it for some reason.
if(isturf(A,/turf/simulated/floor/engine)) //here was a bug. But now it's a feature. -rasta0
return*/
- if(istype(A,/turf/simulated/floor))
+/* if(istype(A,/turf/simulated/floor))
A:ReplaceWithSpace()
gain = 2
else
- A:ReplaceWithFloor()
+ A:ReplaceWithFloor()*/
+ A:ReplaceWithSpace() //
+ gain = 2
+
src.energy += gain
/////////////////////////////////////////////Controls which "event" is called
diff --git a/code/game/master_controller.dm b/code/game/master_controller.dm
index 0a298a68cc3..2b628aa85f6 100644
--- a/code/game/master_controller.dm
+++ b/code/game/master_controller.dm
@@ -46,10 +46,10 @@ datum/controller/game_controller
for(var/obj/machinery/atmospherics/machine in world)
machine.build_network()
- world << "\red \b Initializing atmos machinery"
+ /*world << "\red \b Initializing atmos machinery"
sleep(-1)
- find_air_alarms()
+ find_air_alarms()*/
world << "\red \b Initializations complete."
diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm
index 727609f4f3f..b308d2dc04b 100644
--- a/code/game/objects/items/blueprints.dm
+++ b/code/game/objects/items/blueprints.dm
@@ -158,12 +158,11 @@ move an amendment to the drawing.
/obj/item/blueprints/proc/set_area_machinery_title(var/area/A,var/title,var/oldtitle)
- for(var/area/RA in A.related)
- for(var/obj/machinery/alarm/M in RA)
- M.alarm_zone = title
if (!oldtitle) // or dd_replacetext goes to infinite loop
return
for(var/area/RA in A.related)
+ for(var/obj/machinery/alarm/M in RA)
+ M.name = dd_replacetext(M.name,oldtitle,title)
for(var/obj/machinery/power/apc/M in RA)
M.name = dd_replacetext(M.name,oldtitle,title)
for(var/obj/machinery/atmospherics/unary/vent_scrubber/M in RA)
diff --git a/code/game/objects/stacks/stack.dm b/code/game/objects/stacks/stack.dm
index 766ce6ad3ac..ba8d7c06d1b 100644
--- a/code/game/objects/stacks/stack.dm
+++ b/code/game/objects/stacks/stack.dm
@@ -71,11 +71,11 @@
else
to_transfer = min(src.amount, S.max_amount-S.amount)
S.amount+=to_transfer
+ if (S && usr.machine==S)
+ spawn(0) S.interact(usr)
src.use(to_transfer)
if (src && usr.machine==src)
spawn(0) src.interact(usr)
- if (S && usr.machine==S)
- spawn(0) S.interact(usr)
else return ..()
/obj/item/stack/proc/copy_evidences(obj/item/stack/from as obj)
diff --git a/code/game/objects/tank.dm b/code/game/objects/tank.dm
index 589ef13ddbe..380e0821afe 100644
--- a/code/game/objects/tank.dm
+++ b/code/game/objects/tank.dm
@@ -225,7 +225,7 @@
if (istype(src.loc, /obj/item/assembly))
icon = src.loc
if (!in_range(src, usr))
- if (icon == src) usr << "\blue It's a \icon[icon][src]! If you want any more information you'll need to get closer."
+ if (icon == src) usr << "\blue It's \a \icon[icon][src]! If you want any more information you'll need to get closer."
return
var/celsius_temperature = src.air_contents.temperature-T0C
@@ -244,7 +244,7 @@
else
descriptive = "furiously hot"
- usr << text("\blue The \icon[][src] feels []", icon, descriptive)
+ usr << text("\blue \The \icon[][src] feels []", icon, descriptive)
return
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index f72b118622c..02444afe54f 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -449,7 +449,7 @@
cell.updateicon()
src.cell = null
- user.visible_message("\red [user.name] remove the power cell from [src.name]!", "You remove the power cell.")
+ user.visible_message("\red [user.name] removes the power cell from [src.name]!", "You remove the power cell.")
//user << "You remove the power cell."
charging = 0
src.updateicon()
@@ -457,6 +457,7 @@
else
if(stat & (BROKEN|MAINT)) return
// do APC interaction
+ user.machine = src
src.interact(user)
@@ -478,7 +479,6 @@
user << browse(null, "window=apc")
return
if(wiresexposed && (!istype(user, /mob/living/silicon)))
- user.machine = src
var/t1 = text("[area.name] APC wiresAccess Panel
\n")
var/list/apcwires = list(
"Orange" = 1,
diff --git a/icons/obj/atmospherics/red_pipe.dmi b/icons/obj/atmospherics/red_pipe.dmi
index a93eb8ad47e..ff9d9e8a59a 100644
Binary files a/icons/obj/atmospherics/red_pipe.dmi and b/icons/obj/atmospherics/red_pipe.dmi differ
diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi
index acd3d2b8558..d973bd0df6d 100644
Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ
diff --git a/icons/obj/pipes.dmi b/icons/obj/pipes.dmi
index 308fbc5ab71..6a955df8ae6 100644
Binary files a/icons/obj/pipes.dmi and b/icons/obj/pipes.dmi differ
diff --git a/icons/obj/pipes/heat.dmi b/icons/obj/pipes/heat.dmi
index 48f0f3bb99e..2de846ce67c 100644
Binary files a/icons/obj/pipes/heat.dmi and b/icons/obj/pipes/heat.dmi differ
diff --git a/icons/obj/pipes/junction.dmi b/icons/obj/pipes/junction.dmi
index 239a80b0c41..51aad58569c 100644
Binary files a/icons/obj/pipes/junction.dmi and b/icons/obj/pipes/junction.dmi differ
diff --git a/maps/tgstation.2.0.0.dmm b/maps/tgstation.2.0.0.dmm
index ccfdee15bf8..108a777a196 100644
--- a/maps/tgstation.2.0.0.dmm
+++ b/maps/tgstation.2.0.0.dmm
@@ -81,7 +81,7 @@
"abC" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/tank/air,/obj/window/reinforced/south,/turf/simulated/floor,/area/prison/cell_block/B)
"abD" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; initialize_directions = 6; layer = 3},/turf/simulated/wall/r_wall,/area/prison/cell_block/A)
"abE" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/stool/bed,/turf/simulated/floor/plating,/area/prison/cell_block/A)
-"abF" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor/plating,/area/prison/cell_block/A)
+"abF" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/prison/cell_block/A)
"abG" = (/obj/machinery/camera{c_tag = "Cell Block A Cell1"; network = "Prison"},/turf/simulated/floor/plating,/area/prison/cell_block/A)
"abH" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/simulated/floor/plating,/area/prison/cell_block/A)
"abI" = (/turf/simulated/floor{tag = "icon-red (NORTHWEST)"; icon_state = "red"; dir = 9},/area/prison/cell_block/A)
@@ -99,7 +99,7 @@
"abU" = (/turf/simulated/floor{tag = "icon-red (NORTHEAST)"; icon_state = "red"; dir = 5},/area/prison/cell_block/B)
"abV" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/simulated/floor/plating,/area/prison/cell_block/B)
"abW" = (/obj/machinery/camera{pixel_x = 21; network = "Prison"; c_tag = "Cell Block B Cell1"},/turf/simulated/floor/plating,/area/prison/cell_block/B)
-"abX" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor/plating,/area/prison/cell_block/B)
+"abX" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/prison/cell_block/B)
"abY" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/stool/bed,/turf/simulated/floor/plating,/area/prison/cell_block/B)
"abZ" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/prison/cell_block/B)
"aca" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/prison/cell_block/A)
@@ -131,7 +131,7 @@
"acA" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/prison/cell_block/A)
"acB" = (/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/simulated/floor,/area/prison/control)
"acC" = (/turf/simulated/floor{tag = "icon-red (WEST)"; icon_state = "red"; dir = 8},/area/prison/control)
-"acD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/prison/control)
+"acD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/prison/control)
"acE" = (/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/prison/control)
"acF" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor{tag = "icon-red (WEST)"; icon_state = "red"; dir = 8},/area/prison/cell_block/B)
"acG" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/prison/cell_block/B)
@@ -152,7 +152,7 @@
"acV" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/prison/cell_block/B)
"acW" = (/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{tag = "icon-red (NORTHEAST)"; icon_state = "red"; dir = 5},/area/prison/cell_block/B)
"acX" = (/obj/decal/cleanable/cobweb,/obj/machinery/camera{c_tag = "Cell Block B Cell2"; network = "Prison"; pixel_x = 21},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/prison/cell_block/B)
-"acY" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/prison/cell_block/B)
+"acY" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/prison/cell_block/B)
"acZ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/secure_closet/brig{name = "Prison Locker"},/obj/disposalpipe/junction,/turf/simulated/floor/plating,/area/prison/cell_block/A)
"ada" = (/obj/machinery/atmospherics/portables_connector{dir = 1; name = "Connector Port (Air Supply)"},/turf/simulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/prison/cell_block/A)
"adb" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced,/turf/simulated/floor/plating,/area/prison/control)
@@ -192,7 +192,7 @@
"adJ" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced,/turf/simulated/floor/plating,/area/prison/control)
"adK" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/plating,/area/prison/control)
"adL" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/camera{c_tag = "Cell Block B"; dir = 8; network = "Prison"},/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/turf/simulated/floor{tag = "icon-red (EAST)"; icon_state = "red"; dir = 4},/area/prison/cell_block/B)
-"adM" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/prison/cell_block/A)
+"adM" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plating,/area/prison/cell_block/A)
"adN" = (/obj/machinery/camera{c_tag = "Cell Block A Cell4"; network = "Prison"},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/prison/cell_block/A)
"adO" = (/obj/machinery/atmospherics/pipe/simple,/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor,/area/prison/cell_block/A)
"adP" = (/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/prison/cell_block/A)
@@ -222,7 +222,7 @@
"aen" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/prison/cell_block/A)
"aeo" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/prison/cell_block/A)
"aep" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/prison/cell_block/A)
-"aeq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A)
+"aeq" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A)
"aer" = (/obj/machinery/door/firedoor/border_only,/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/prison/cell_block/A)
"aes" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/prison/cell_block/A)
"aet" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/prison/cell_block/A)
@@ -231,7 +231,7 @@
"aew" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/prison/cell_block/B)
"aex" = (/obj/machinery/door/firedoor/border_only,/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-caution_west"; icon_state = "caution_west"},/area/prison/cell_block/B)
"aey" = (/obj/machinery/door/firedoor/border_only,/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor,/area/prison/cell_block/B)
-"aez" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/machinery/door/firedoor/border_only,/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4},/area/prison/cell_block/B)
+"aez" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door/firedoor/border_only,/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-blue (EAST)"; icon_state = "blue"; dir = 4},/area/prison/cell_block/B)
"aeA" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/prison/cell_block/B)
"aeB" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/junction,/turf/simulated/wall/r_wall,/area/prison/cell_block/B)
"aeC" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall/r_wall,/area/prison/cell_block/B)
@@ -357,7 +357,7 @@
"agS" = (/obj/cable{icon_state = "0-2"; d2 = 2},/obj/cable,/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = 20},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/security/warden)
"agT" = (/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/obj/machinery/flasher/portable,/turf/simulated/floor,/area/security/warden)
"agU" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; initialize_directions = 5; layer = 3},/turf/simulated/wall/r_wall,/area/security/hos)
-"agV" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/secure_closet/hos,/turf/simulated/floor,/area/security/hos)
+"agV" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/secure_closet/hos,/turf/simulated/floor,/area/security/hos)
"agW" = (/turf/simulated/floor,/area/security/hos)
"agX" = (/obj/machinery/light{dir = 1},/obj/table{icon_state = "tabledir"; dir = 8},/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor,/area/security/hos)
"agY" = (/obj/machinery/power/apc{dir = 1; name = "Head of Security Office APC"; pixel_y = 28},/obj/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/computer/secure_data,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/security/hos)
@@ -409,7 +409,7 @@
"ahS" = (/obj/closet/wardrobe/red,/obj/machinery/camera{c_tag = "Security"; dir = 8; network = "SS13"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/turf/simulated/floor,/area/security/main)
"ahT" = (/obj/machinery/atmospherics/pipe/simple,/obj/lattice,/turf/space,/area)
"ahU" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/wall/r_wall,/area/security/warden)
-"ahV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/machinery/deployable/barrier,/turf/simulated/floor,/area/security/warden)
+"ahV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/deployable/barrier,/turf/simulated/floor,/area/security/warden)
"ahW" = (/obj/machinery/camera{c_tag = "Warden"; dir = 8; network = "SS13"},/obj/machinery/flasher/portable,/turf/simulated/floor,/area/security/warden)
"ahX" = (/obj/secure_closet/disk_security,/turf/simulated/floor,/area/security/hos)
"ahY" = (/obj/machinery/light_switch{pixel_y = -23},/turf/simulated/floor,/area/security/hos)
@@ -541,12 +541,12 @@
"aku" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; initialize_directions = 5; layer = 3},/turf/simulated/floor,/area/security/brig)
"akv" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/security/brig)
"akw" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/floor,/area/security/brig)
-"akx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/security/brig)
+"akx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/security/brig)
"aky" = (/turf/simulated/floor{tag = "icon-red (NORTHWEST)"; icon_state = "red"; dir = 9},/area/security/brig)
"akz" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{tag = "icon-red (NORTH)"; icon_state = "red"; dir = 1},/area/security/brig)
"akA" = (/obj/machinery/atmospherics/pipe/simple,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/security/brig)
"akB" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/simulated/floor,/area/security/brig)
-"akC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/crew_quarters/courtroom)
+"akC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/crew_quarters/courtroom)
"akD" = (/obj/table/woodentable{dir = 10},/obj/item/weapon/paper/Court,/turf/simulated/floor,/area/crew_quarters/courtroom)
"akE" = (/obj/table/woodentable,/obj/item/weapon/gun/shotgun{desc = "It's kinda loud..."; name = "adjudicator"; shellsunlimited = 3},/turf/simulated/floor,/area/crew_quarters/courtroom)
"akF" = (/obj/table/woodentable{dir = 6},/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (Court)"; pixel_x = 0},/turf/simulated/floor,/area/crew_quarters/courtroom)
@@ -615,7 +615,7 @@
"alQ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/secure_closet/brig{name = "Brig Locker 3"; id = 3},/turf/simulated/floor,/area/security/brig)
"alR" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/secure_closet/brig{name = "Brig Locker 4"; id = 4},/turf/simulated/floor{tag = "icon-floorgrime"; icon_state = "floorgrime"},/area/security/brig)
"alS" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/wall,/area/security/brig)
-"alT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{tag = "icon-red (NORTHWEST)"; icon_state = "red"; dir = 9},/area/security/brig)
+"alT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-red (NORTHWEST)"; icon_state = "red"; dir = 9},/area/security/brig)
"alU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{tag = "icon-red (NORTHEAST)"; icon_state = "red"; dir = 5},/area/security/brig)
"alV" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/wall,/area/security/brig)
"alW" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-floorgrime"; icon_state = "floorgrime"},/area/security/brig)
@@ -649,7 +649,7 @@
"amy" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/security/brig)
"amz" = (/obj/stool/chair{dir = 1},/turf/simulated/floor,/area/crew_quarters/courtroom)
"amA" = (/obj/stool/chair{dir = 1},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/crew_quarters/courtroom)
-"amB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/stool/chair{dir = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/crew_quarters/courtroom)
+"amB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/stool/chair{dir = 1},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/crew_quarters/courtroom)
"amC" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"amD" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"amE" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/hallway/primary/fore)
@@ -801,7 +801,7 @@
"apu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/secure_closet/personal,/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
"apv" = (/obj/stool{pixel_y = 8},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
"apw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light/small{dir = 1},/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
-"apx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/machinery/alarm{pixel_y = 23},/obj/secure_closet/personal,/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
+"apx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/alarm{pixel_y = 23},/obj/secure_closet/personal,/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
"apy" = (/obj/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"; layer = 3},/turf/simulated/wall,/area/crew_quarters/fitness)
"apz" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/crew_quarters/fitness)
"apA" = (/obj/machinery/sink{pixel_y = 30},/turf/simulated/floor,/area/crew_quarters/fitness)
@@ -826,7 +826,7 @@
"apT" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/west{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced/west{tag = "icon-rwindow"; icon_state = "rwindow"; dir = 2},/turf/simulated/floor/plating,/area/lawoffice)
"apU" = (/obj/machinery/camera{c_tag = "Fore Primary Hallway"; dir = 4; network = "SS13"},/turf/simulated/floor{tag = "icon-redcorner (NORTH)"; icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore)
"apV" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/wall,/area/crew_quarters)
-"apW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/stool{pixel_y = 8},/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
+"apW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/stool{pixel_y = 8},/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
"apX" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
"apY" = (/turf/simulated/floor{tag = "icon-carpet (NORTHWEST)"; icon_state = "carpet"; dir = 9},/area/crew_quarters)
"apZ" = (/obj/machinery/door/airlock{name = "Cabin"},/turf/simulated/floor,/area/crew_quarters)
@@ -850,7 +850,7 @@
"aqr" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced/west,/obj/window/reinforced/east,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"aqs" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/west{tag = "icon-rwindow"; icon_state = "rwindow"; dir = 2},/obj/window/reinforced/west{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"aqt" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/wall,/area/security/vacantoffice)
-"aqu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor/plating,/area/security/vacantoffice)
+"aqu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/security/vacantoffice)
"aqv" = (/obj/machinery/light,/obj/table/woodentable{dir = 9},/turf/simulated/floor/plating,/area/security/vacantoffice)
"aqw" = (/obj/table/woodentable{tag = "icon-woodentable (NORTH)"; icon_state = "woodentable"; dir = 1},/obj/machinery/camera{c_tag = "Vacant Office"; dir = 1},/turf/simulated/floor,/area/security/vacantoffice)
"aqx" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor/plating,/area/security/vacantoffice)
@@ -951,7 +951,7 @@
"aso" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
"asp" = (/turf/simulated/wall/r_wall,/area/ai_monitored/storage/eva)
"asq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 8; icon_state = "bluecorner"},/area/hallway/primary/fore)
-"asr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
+"asr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/fore)
"ass" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"ast" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor{tag = "icon-neutral (WEST)"; icon_state = "neutral"; dir = 8},/area/crew_quarters)
"asu" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor,/area/crew_quarters)
@@ -1141,7 +1141,7 @@
"avW" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced/south,/obj/window/reinforced/west,/turf/simulated/floor/plating,/area/shuttle/arrival/station)
"avX" = (/obj/grille,/obj/window/reinforced/north,/obj/window/reinforced/east,/obj/window/reinforced/south,/turf/simulated/floor/plating,/area/shuttle/arrival/station)
"avY" = (/turf/simulated/shuttle/wall{dir = 1; icon_state = "wall_space"},/area/shuttle/arrival/station)
-"avZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/machinery/camera{c_tag = "Arrivals East"; dir = 8; network = "SS13"},/turf/simulated/floor,/area/hallway/secondary/entry)
+"avZ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Arrivals East"; dir = 8; network = "SS13"},/turf/simulated/floor,/area/hallway/secondary/entry)
"awa" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall,/area/maintenance/fpmaint2)
"awb" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; initialize_directions = 10; layer = 3},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"awc" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
@@ -1172,7 +1172,7 @@
"awB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"awC" = (/obj/machinery/door/airlock{name = "Shower"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"awD" = (/obj/machinery/light/small,/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
-"awE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
+"awE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/toilet)
"awF" = (/obj/machinery/camera{c_tag = "Fore Starboard Maintenance 1"; dir = 8; network = "SS13"},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"awG" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"awH" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; initialize_directions = 14},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
@@ -1305,7 +1305,7 @@
"aze" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/grille,/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"azf" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; initialize_directions = 14},/turf/simulated/floor/plating,/area/maintenance/fpmaint2)
"azg" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/storage/toolbox/electrical,/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor,/area/storage/primary)
-"azh" = (/obj/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/storage/primary)
+"azh" = (/obj/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/storage/primary)
"azi" = (/obj/landmark/start{name = "Assistant"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/storage/primary)
"azj" = (/obj/landmark/start{name = "Assistant"},/obj/stool{pixel_y = 8},/turf/simulated/floor,/area/storage/primary)
"azk" = (/obj/landmark/start{name = "Assistant"},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/storage/primary)
@@ -1462,7 +1462,7 @@
"aCf" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass,/turf/simulated/floor,/area/hallway/secondary/entry)
"aCg" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/light{dir = 1},/turf/simulated/floor,/area/hallway/primary/port)
"aCh" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/floor,/area/hallway/primary/port)
-"aCi" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/hallway/primary/port)
+"aCi" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/hallway/primary/port)
"aCj" = (/obj/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc{name = "Port Hall APC"; dir = 1; pixel_y = 26},/turf/simulated/floor,/area/hallway/primary/port)
"aCk" = (/turf/simulated/floor,/area/hallway/primary/port)
"aCl" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/hallway/primary/port)
@@ -1700,7 +1700,7 @@
"aGJ" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/floor/plating,/area/maintenance/port)
"aGK" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor/plating,/area/maintenance/port)
"aGL" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall,/area/crew_quarters/locker)
-"aGM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/closet/emcloset,/turf/simulated/floor,/area/crew_quarters/locker)
+"aGM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/closet/emcloset,/turf/simulated/floor,/area/crew_quarters/locker)
"aGN" = (/obj/closet/emcloset,/turf/simulated/floor,/area/crew_quarters/locker)
"aGO" = (/obj/reagent_dispensers/watertank,/turf/simulated/floor,/area/crew_quarters/locker)
"aGP" = (/obj/reagent_dispensers/fueltank,/turf/simulated/floor,/area/crew_quarters/locker)
@@ -1812,7 +1812,7 @@
"aIR" = (/obj/machinery/door/window/northright{dir = 1; name = "library desk door"; req_access_txt = "37"},/turf/simulated/floor{icon_state = "wood"},/area/library)
"aIS" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"aIT" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall,/area/hydroponics)
-"aIU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{tag = "icon-green (WEST)"; icon_state = "green"; dir = 8},/area/hydroponics)
+"aIU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-green (WEST)"; icon_state = "green"; dir = 8},/area/hydroponics)
"aIV" = (/obj/machinery/disposal,/obj/disposalpipe/trunk{dir = 4},/turf/simulated/floor,/area/hydroponics)
"aIW" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/floor{tag = "icon-green (EAST)"; icon_state = "green"; dir = 4},/area/hydroponics)
"aIX" = (/obj/machinery/hydroponics,/obj/disposalpipe/junction,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
@@ -1846,7 +1846,7 @@
"aJz" = (/obj/stool{pixel_y = 8},/turf/simulated/floor,/area/crew_quarters/locker)
"aJA" = (/obj/secure_closet/personal,/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/crew_quarters/locker)
"aJB" = (/obj/machinery/camera{c_tag = "Autolathe"; c_tag_order = 999; dir = 4},/turf/simulated/floor,/area/storage/autolathe)
-"aJC" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor,/area/storage/autolathe)
+"aJC" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/storage/autolathe)
"aJD" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall,/area/storage/autolathe)
"aJE" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor/plating,/area/maintenance/port)
"aJF" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/turf/simulated/floor/plating,/area/maintenance/port)
@@ -1917,7 +1917,7 @@
"aKS" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor/plating,/area/maintenance/port)
"aKT" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/turf/simulated/wall,/area/storage/tools)
"aKU" = (/obj/table{icon_state = "tabledir"; dir = 5},/obj/item/weapon/storage/toolbox/emergency,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor,/area/storage/tools)
-"aKV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/storage/tools)
+"aKV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/storage/tools)
"aKW" = (/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{dir = 1; icon_state = "blue"},/area/hallway/primary/central)
"aKX" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{dir = 5; icon_state = "blue"},/area/hallway/primary/central)
"aKY" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/north,/obj/window/reinforced/west,/obj/window/reinforced/south,/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/bridge)
@@ -1944,7 +1944,7 @@
"aLt" = (/obj/secure_closet/medical2,/turf/simulated/floor,/area/medical/robotics)
"aLu" = (/obj/machinery/recharge_station,/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/camera{c_tag = "Robotics Center"; dir = 4; network = "SS13"},/turf/simulated/floor,/area/medical/robotics)
"aLv" = (/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor,/area/medical/robotics)
-"aLw" = (/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor,/area/medical/robotics)
+"aLw" = (/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/medical/robotics)
"aLx" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/medical/robotics)
"aLy" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/plating,/area/maintenance/starboard)
"aLz" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/turf/simulated/floor/plating,/area/maintenance/starboard)
@@ -1955,7 +1955,7 @@
"aLE" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
"aLF" = (/obj/grille,/obj/window/reinforced,/turf/simulated/floor/plating,/area/hallway/secondary/entry)
"aLG" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
-"aLH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor,/area/hallway/secondary/entry)
+"aLH" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/hallway/secondary/entry)
"aLI" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/wall,/area/maintenance/port)
"aLJ" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/wall,/area/maintenance/port)
"aLK" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall,/area/maintenance/port)
@@ -2003,7 +2003,7 @@
"aMA" = (/obj/stool/chair{dir = 8},/turf/simulated/floor,/area/library)
"aMB" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "dark"},/area/library)
"aMC" = (/obj/table/reinforced,/obj/item/device/taperecorder{pixel_y = 0},/turf/simulated/floor{icon_state = "dark"},/area/library)
-"aMD" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor{icon_state = "wood"},/area/library)
+"aMD" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "wood"},/area/library)
"aME" = (/obj/reagent_dispensers/watertank,/turf/simulated/floor{icon_state = "dark"},/area/hydroponics)
"aMF" = (/obj/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics)
"aMG" = (/obj/machinery/door/window/westleft{base_state = "left"; dir = 1; icon_state = "left"; name = "Robotics Delivery"; req_access_txt = "29"},/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor{icon_state = "delivery"},/area/medical/robotics)
@@ -2040,7 +2040,7 @@
"aNl" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{tag = "icon-blue (SOUTHEAST)"; icon_state = "blue"; dir = 6},/area/hallway/primary/central)
"aNm" = (/obj/grille,/obj/cable,/obj/window/reinforced/east,/obj/window/reinforced/north,/obj/window/reinforced/west,/obj/window/reinforced/south,/turf/simulated/floor/plating,/area/bridge)
"aNn" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; initialize_directions = 6; layer = 3},/turf/simulated/wall/r_wall,/area/bridge)
-"aNo" = (/obj/machinery/camera{c_tag = "Bridge West"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/closet/emcloset,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
+"aNo" = (/obj/machinery/camera{c_tag = "Bridge West"; dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/closet/emcloset,/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aNp" = (/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aNq" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{dir = 0; icon_state = "blue"},/area/bridge)
"aNr" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor{tag = "icon-blue (SOUTHEAST)"; icon_state = "blue"; dir = 6},/area/bridge)
@@ -2058,7 +2058,7 @@
"aND" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; initialize_directions = 14},/turf/simulated/wall,/area/hydroponics)
"aNE" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/hydroponics)
"aNF" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/disposalpipe/segment,/turf/simulated/wall,/area/hydroponics)
-"aNG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/hallway/primary/starboard)
+"aNG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/hallway/primary/starboard)
"aNH" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Escape"; location = "Med2"},/turf/simulated/floor{tag = "icon-whitehall (EAST)"; icon_state = "whitehall"; dir = 4},/area/hallway/primary/starboard)
"aNI" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=1"; location = "Robotics"},/obj/machinery/door/window/westleft{base_state = "left"; dir = 2; icon_state = "left"; name = "Robotics Delivery"; req_access_txt = "34"},/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor{icon_state = "bot"},/area/medical/robotics)
"aNJ" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/glass{name = "Robotics"; req_access_txt = "29"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/robotics)
@@ -2097,7 +2097,7 @@
"aOq" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
"aOr" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
"aOs" = (/obj/rack{dir = 8},/obj/item/weapon/storage/briefcase,/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
-"aOt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/machinery/camera{c_tag = "Bridge Entrance West"; dir = 8},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central)
+"aOt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/camera{c_tag = "Bridge Entrance West"; dir = 8},/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central)
"aOu" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; initialize_directions = 14},/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
"aOv" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
"aOw" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"; initialize_directions = 9; layer = 3},/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
@@ -2107,7 +2107,7 @@
"aOA" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/bridge)
"aOB" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/wall/r_wall,/area/bridge)
"aOC" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer)
-"aOD" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -28; pixel_y = -7},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/turret_protected/ai_upload_foyer)
+"aOD" = (/obj/item/device/radio/intercom{broadcasting = 1; frequency = 1447; name = "Private AI Channel"; pixel_x = -28; pixel_y = -7},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/alarm{pixel_y = 23},/turf/simulated/floor,/area/turret_protected/ai_upload_foyer)
"aOE" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/turret_protected/ai_upload_foyer)
"aOF" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/turret_protected/ai_upload_foyer)
"aOG" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload_foyer)
@@ -2210,7 +2210,7 @@
"aQz" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall/r_wall,/area/medical/cmo)
"aQA" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/atmospherics/pipe/simple,/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/starboard)
"aQB" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall,/area/maintenance/starboard)
-"aQC" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{dir = 8; icon_state = "escape"; tag = "icon-escape (WEST)"},/area/hallway/secondary/exit)
+"aQC" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 8; icon_state = "escape"; tag = "icon-escape (WEST)"},/area/hallway/secondary/exit)
"aQD" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
"aQE" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/turf/simulated/floor/plating,/area/hallway/secondary/entry)
"aQF" = (/obj/machinery/camera{c_tag = "Arrivals Extra Docking"; dir = 4; network = "SS13"},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/turf/simulated/floor,/area/hallway/secondary/entry)
@@ -2231,7 +2231,7 @@
"aQU" = (/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
"aQV" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/west,/obj/window/reinforced/north,/obj/window/reinforced/south,/turf/simulated/floor/plating,/area/security/detectives_office)
"aQW" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
-"aQX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/captain)
+"aQX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/crew_quarters/captain)
"aQY" = (/obj/stool/chair{dir = 1},/turf/simulated/floor,/area/crew_quarters/captain)
"aQZ" = (/turf/simulated/floor{icon_state = "carpetNW"},/area/crew_quarters/captain)
"aRa" = (/turf/simulated/floor{icon_state = "carpetN"},/area/crew_quarters/captain)
@@ -2350,7 +2350,7 @@
"aTj" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/turf/simulated/wall,/area/crew_quarters/captain)
"aTk" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall/r_wall,/area/turret_protected/ai_upload)
"aTl" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/table{icon_state = "tabledir"; dir = 5},/obj/item/weapon/aiModule/teleporterOffline,/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
-"aTm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "bot"},/area/turret_protected/ai_upload)
+"aTm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "bot"},/area/turret_protected/ai_upload)
"aTn" = (/turf/simulated/floor/grid,/area/turret_protected/ai_upload)
"aTo" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/turret_protected/ai_upload)
"aTp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "bot"},/area/turret_protected/ai_upload)
@@ -2652,7 +2652,7 @@
"aYZ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; icon_state = "manifold"; initialize_directions = 11; level = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"aZa" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"aZb" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/morgue,/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
-"aZc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
+"aZc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor{icon_state = "dark"},/area/medical/morgue)
"aZd" = (/obj/machinery/vending/snack,/turf/simulated/floor{dir = 8; icon_state = "escape"; tag = "icon-escape (WEST)"},/area/hallway/secondary/exit)
"aZe" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/west{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced/west{tag = "icon-rwindow"; icon_state = "rwindow"; dir = 2},/turf/simulated/floor/plating,/area/hallway/secondary/exit)
"aZf" = (/turf/space,/area/supply/station)
@@ -2686,7 +2686,7 @@
"aZH" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
"aZI" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; initialize_directions = 14},/turf/simulated/wall,/area/maintenance/maintcentral)
"aZJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor,/area/hallway/primary/central)
-"aZK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor,/area/hallway/primary/central)
+"aZK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/hallway/primary/central)
"aZL" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
"aZM" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor{tag = "icon-cafeteria"; icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"aZN" = (/turf/simulated/floor{tag = "icon-cafeteria"; icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
@@ -2834,7 +2834,7 @@
"bcz" = (/obj/machinery/door/airlock/maintenance{name = "Medical Maintenance"; req_access_txt = "14;5"},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bcA" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bcB" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall,/area/chapel/main)
-"bcC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
+"bcC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bcD" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bcE" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
"bcF" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "carpetE"},/area/chapel/main)
@@ -2937,11 +2937,11 @@
"bey" = (/obj/machinery/nuclearbomb{r_code = "LOLNO"},/turf/simulated/floor{icon_state = "delivery"},/area/security/nuke_storage)
"bez" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/security/nuke_storage)
"beA" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/crew_quarters/kitchen)
-"beB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{tag = "icon-cafeteria"; icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
+"beB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-cafeteria"; icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"beC" = (/obj/machinery/disposal,/obj/disposalpipe/trunk,/turf/simulated/floor{tag = "icon-cafeteria"; icon_state = "cafeteria"; dir = 2},/area/crew_quarters/kitchen)
"beD" = (/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock{name = "Kitchen"; req_access_txt = "28"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/kitchen)
"beE" = (/obj/machinery/camera{c_tag = "Bar Center"; dir = 4; network = "SS13"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
-"beF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
+"beF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
"beG" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/turf/simulated/wall,/area/crew_quarters/bar)
"beH" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/hallway/primary/starboard)
"beI" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/fire,/obj/item/weapon/storage/firstaid/o2{pixel_y = -5},/obj/item/weapon/storage/firstaid/o2{pixel_y = -5},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
@@ -2974,7 +2974,7 @@
"bfj" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/teleporter)
"bfk" = (/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor,/area/teleporter)
"bfl" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/space,/area/turret_protected/ai)
-"bfm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor/grid,/area/turret_protected/ai)
+"bfm" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/grid,/area/turret_protected/ai)
"bfn" = (/obj/machinery/turret{dir = 1},/obj/cable,/turf/simulated/floor/grid,/area/turret_protected/ai)
"bfo" = (/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/grid,/area/turret_protected/ai)
"bfp" = (/obj/machinery/power/smes{charge = 5e+006},/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/grid,/area/turret_protected/ai)
@@ -3005,13 +3005,13 @@
"bfO" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor{tag = "icon-whitehall"; icon_state = "whitehall"; dir = 2},/area/hallway/primary/starboard)
"bfP" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor{tag = "icon-whitehall (SOUTHEAST)"; icon_state = "whitehall"; dir = 6},/area/hallway/primary/starboard)
"bfQ" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/storage/firstaid/toxin,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
-"bfR" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
+"bfR" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bfS" = (/obj/table{dir = 5},/obj/item/weapon/storage/lglo_kit,/obj/item/clothing/mask/muzzle,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bfT" = (/obj/table{icon_state = "tabledir"; dir = 8},/obj/item/weapon/gun/syringe,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bfU" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"bfV" = (/mob/living/carbon/monkey{name = "Pierce"},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"bfW" = (/mob/living/carbon/monkey{name = "Harding"},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
-"bfX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
+"bfX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"bfY" = (/obj/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/medical/research)
"bfZ" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"bga" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/turf/simulated/wall,/area/chapel/main)
@@ -3042,7 +3042,7 @@
"bgz" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; initialize_directions = 14},/turf/simulated/wall/r_wall,/area/turret_protected/ai)
"bgA" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/wall/r_wall,/area/turret_protected/ai)
"bgB" = (/obj/machinery/atmospherics/pipe/manifold,/turf/simulated/wall/r_wall,/area/security/nuke_storage)
-"bgC" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{tag = "icon-caution (EAST)"; icon_state = "caution"; dir = 4},/area/security/nuke_storage)
+"bgC" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-caution (EAST)"; icon_state = "caution"; dir = 4},/area/security/nuke_storage)
"bgD" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/security/nuke_storage)
"bgE" = (/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/window/reinforced,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/plating,/area/security/nuke_storage)
"bgF" = (/obj/machinery/door/window/southleft,/obj/machinery/door/window/southleft{dir = 1},/turf/simulated/floor{tag = "icon-bot (NORTH)"; icon_state = "bot"; dir = 1},/area/security/nuke_storage)
@@ -3130,7 +3130,7 @@
"bij" = (/obj/machinery/dna_scannernew,/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"bik" = (/obj/machinery/scan_consolenew,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"bil" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/chapel/main)
-"bim" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
+"bim" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bin" = (/obj/table{icon_state = "tabledir"; dir = 10},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bio" = (/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 1; icon_state = "chapel"},/area/chapel/main)
"bip" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/turf/simulated/floor{dir = 4; icon_state = "chapel"},/area/chapel/main)
@@ -3176,7 +3176,7 @@
"bjd" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"bje" = (/obj/stool/chair{dir = 1},/obj/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"bjf" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
-"bjg" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/stool/chair{dir = 1},/obj/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
+"bjg" = (/obj/item/device/radio/intercom{freerange = 1; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 30},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/stool/chair{dir = 1},/obj/landmark/start{name = "Geneticist"},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"bjh" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/wall,/area/chapel/main)
"bji" = (/obj/item/device/radio/intercom{frequency = 1443; name = "Confession Intercom"; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bjj" = (/obj/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
@@ -3226,7 +3226,7 @@
"bkb" = (/obj/machinery/vending/boozeomat,/turf/simulated/wall,/area/crew_quarters/bar)
"bkc" = (/obj/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor/plating,/area/maintenance/maintcentral)
"bkd" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/medical/chemistry)
-"bke" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
+"bke" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{tag = "icon-tube1 (WEST)"; icon_state = "tube1"; dir = 8},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"bkf" = (/obj/item/weapon/chem_grenade,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"bkg" = (/obj/table{dir = 9; icon_state = "tabledir"; pixel_y = 0},/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,/obj/item/weapon/reagent_containers/glass/bottle/antitoxin,/obj/machinery/light{tag = "icon-tube1 (EAST)"; icon_state = "tube1"; dir = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"bkh" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/camera{c_tag = "Medbay South"; dir = 4; network = "SS13"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
@@ -3275,7 +3275,7 @@
"bkY" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/paper/alchemy,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/medical/chemistry)
"bkZ" = (/obj/machinery/light{dir = 4; icon_state = "tube1"; tag = "icon-tube1 (EAST)"},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
"bla" = (/obj/closet/l3closet,/turf/simulated/floor{icon_state = "white"},/area/medical/research)
-"blb" = (/obj/item/device/radio/intercom{dir = 1; frequency = 1443; name = "Confession Intercom"; pixel_y = 24},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
+"blb" = (/obj/item/device/radio/intercom{dir = 1; frequency = 1443; name = "Confession Intercom"; pixel_y = 24},/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"blc" = (/obj/machinery/door{icon = 'icons/obj/doors/doormorgue.dmi'; name = "Confession Booth"; req_access_txt = "0"},/turf/simulated/floor{icon_state = "dark"},/area/chapel/main)
"bld" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor{icon_state = "chapel"},/area/chapel/main)
"ble" = (/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{dir = 8; icon_state = "chapel"},/area/chapel/main)
@@ -3433,7 +3433,7 @@
"boa" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3; level = 1},/turf/simulated/wall,/area/maintenance/asmaint)
"bob" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor/plating,/area/maintenance/asmaint)
"boc" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1; initialize_directions = 14},/turf/simulated/floor/plating,/area/maintenance/asmaint)
-"bod" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/reagent_dispensers/beerkeg,/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/bar)
+"bod" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/reagent_dispensers/beerkeg,/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/bar)
"boe" = (/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/bar)
"bof" = (/obj/reagent_dispensers/beerkeg,/turf/simulated/floor{tag = "icon-freezerfloor"; icon_state = "freezerfloor"},/area/crew_quarters/bar)
"bog" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/disposalpipe/segment,/turf/simulated/floor/plating,/area/maintenance/asmaint)
@@ -3611,7 +3611,7 @@
"brw" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/shieldwallgen,/turf/simulated/floor,/area/quartermaster/miningdock)
"brx" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/floor/plating,/area/maintenance/apmaint)
"bry" = (/obj/disposalpipe/segment{dir = 1},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/quartermaster/mechbay)
-"brz" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor/grid,/area/quartermaster/mechbay)
+"brz" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/grid,/area/quartermaster/mechbay)
"brA" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/quartermaster/mechbay)
"brB" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor{tag = "icon-caution_west"; icon_state = "caution_west"},/area/quartermaster/mechbay)
"brC" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; initialize_directions = 6; layer = 3},/turf/simulated/wall/r_wall,/area/quartermaster/mechbay)
@@ -3712,7 +3712,7 @@
"btt" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/asmaint)
"btu" = (/obj/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/maintenance/asmaint)
"btv" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/obj/closet/l3closet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"btw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"btw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"btx" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"bty" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/wall/r_wall,/area/medical/virology)
"btz" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/closet/l3closet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
@@ -3721,7 +3721,7 @@
"btC" = (/obj/table,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"btD" = (/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"btE" = (/obj/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"btF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/secure_closet/personal,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"btF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/secure_closet/personal,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"btG" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/medical/virology)
"btH" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/asmaint2)
"btI" = (/obj/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/maintenance/disposal)
@@ -3842,7 +3842,7 @@
"bvT" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/cleaner,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"bvU" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/hand_labeler,/obj/item/device/radio/intercom{broadcasting = 0; name = "Station Intercom (General)"; pixel_y = 20},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"bvV" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"bvW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"bvW" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"bvX" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/grille,/obj/window/reinforced/west{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/window/reinforced/west,/obj/window/reinforced/west{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/turf/simulated/floor/plating,/area/medical/virology)
"bvY" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"; initialize_directions = 9; layer = 3},/obj/lattice,/turf/space,/area)
"bvZ" = (/obj/grille,/obj/window/reinforced/south,/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/disposal)
@@ -3985,7 +3985,7 @@
"byG" = (/obj/item/device/analyzer,/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor{icon_state = "white"},/area/toxins/storage)
"byH" = (/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/obj/machinery/air_sensor{frequency = 1442; id_tag = "tox_storage"; output = 63},/turf/simulated/floor{icon_state = "white"},/area/toxins/storage)
"byI" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor{icon_state = "white"},/area/toxins/storage)
-"byJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1445; icon_state = "off"; id_tag = "tox_storage_scrub"; on = 1; scrub_Toxins = 1; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/toxins/storage)
+"byJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1445; icon_state = "off"; id_tag = "tox_storage_scrub"; on = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/storage)
"byK" = (/obj/item/weapon/cigbutt,/turf/simulated/floor{icon_state = "white"},/area/toxins/storage)
"byL" = (/obj/machinery/door/window/westleft{name = "Toxins Delivery"; req_access_txt = "8"},/turf/simulated/floor{icon_state = "delivery"},/area/toxins/storage)
"byM" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; location = "Toxins Research"},/turf/simulated/floor{icon_state = "bot"},/area/toxins/storage)
@@ -4156,7 +4156,7 @@
"bBV" = (/obj/machinery/atmospherics/pipe/vent{dir = 4},/turf/simulated/floor/engine/vacuum,/area/toxins/mixing)
"bBW" = (/obj/machinery/atmospherics/pipe/simple{dir = 9; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/toxins/mixing)
"bBX" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/wall/r_wall,/area/toxins/lab)
-"bBY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1445; icon_state = "off"; id_tag = "tox_main_scrub_2"; on = 1; scrub_Toxins = 1; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
+"bBY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1445; icon_state = "off"; id_tag = "tox_main_scrub_2"; on = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"bBZ" = (/obj/item/weapon/storage/toolbox/mechanical,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"bCa" = (/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"bCb" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
@@ -4168,7 +4168,7 @@
"bCh" = (/obj/cable{icon_state = "4-8"; pixel_y = 0; d1 = 4; d2 = 8},/obj/disposalpipe/junction,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"bCi" = (/obj/machinery/door/airlock/glass{frequency = 1451; icon_state = "door_locked"; id_tag = "tox_access_interior"; locked = 1; name = "Toxins Research Access"; req_access_txt = "7"},/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/toxins/lab)
"bCj" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor,/area/toxins/lab)
-"bCk" = (/obj/machinery/embedded_controller/radio/access_controller{pixel_x = -1; pixel_y = -24; frequency = 1451; id_tag = "tox_access_console"; exterior_door_tag = "tox_access_exterior"; interior_door_tag = "tox_access_interior"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor,/area/toxins/lab)
+"bCk" = (/obj/machinery/embedded_controller/radio/access_controller{pixel_x = -1; pixel_y = -24; frequency = 1451; id_tag = "tox_access_console"; exterior_door_tag = "tox_access_exterior"; interior_door_tag = "tox_access_interior"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/toxins/lab)
"bCl" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; initialize_directions = 10; layer = 3},/obj/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/turf/simulated/floor,/area/toxins/lab)
"bCm" = (/obj/machinery/door/airlock/medical{frequency = 1451; icon_state = "door_locked"; id_tag = "tox_access_exterior"; locked = 1; name = "Toxins Research"; req_access_txt = "7"},/obj/cable{icon_state = "4-8"; pixel_y = 0; d1 = 4; d2 = 8},/turf/simulated/floor,/area/toxins/lab)
"bCn" = (/obj/cable{icon_state = "4-8"; pixel_y = 0; d1 = 4; d2 = 8},/turf/simulated/floor{dir = 8; icon_state = "escape"; tag = "icon-escape (WEST)"},/area/hallway/primary/aft)
@@ -4257,7 +4257,7 @@
"bDS" = (/obj/closet/l3closet,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
"bDT" = (/turf/simulated/wall/r_wall,/area/crew_quarters/hor)
"bDU" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/wall/r_wall,/area/hallway/primary/aft)
-"bDV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"; tag = "icon-yellowcorner (WEST)"},/area/hallway/primary/aft)
+"bDV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"; tag = "icon-yellowcorner (WEST)"},/area/hallway/primary/aft)
"bDW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor{icon_state = "yellowcorner"; tag = "icon-yellowcorner"},/area/hallway/primary/aft)
"bDX" = (/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/hallway/primary/aft)
"bDY" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/atmos)
@@ -4369,7 +4369,7 @@
"bGa" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/machinery/computer/security/telescreen{name = "Toxins Monitor"; network = "RD"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
"bGb" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/machinery/light/lamp{pixel_x = 4; pixel_y = 1},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
"bGc" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/clipboard,/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
-"bGd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; frequency = 1445; icon_state = "off"; id_tag = "tox_chem_scrub"; on = 1; scrub_Toxins = 1; tag = "icon-off (EAST)"},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
+"bGd" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; frequency = 1445; icon_state = "off"; id_tag = "tox_chem_scrub"; on = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/crew_quarters/hor)
"bGe" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/obj/grille,/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/aft)
"bGf" = (/obj/machinery/camera{c_tag = "Aft Primary Hallway South"; dir = 4; network = "SS13"},/turf/simulated/floor{dir = 8; icon_state = "yellowcorner"; tag = "icon-yellowcorner (WEST)"},/area/hallway/primary/aft)
"bGg" = (/obj/landmark{name = "blobstart"; pixel_x = -1},/turf/simulated/floor,/area/atmos)
@@ -4416,7 +4416,7 @@
"bGV" = (/obj/machinery/door/airlock/glass{name = "Toxins Mass Driver"; req_access_txt = "7"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
"bGW" = (/obj/machinery/door/airlock/maintenance{name = "Mixing Room Maintenance"; req_access_txt = "12;7;8"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/toxins/mixing)
"bGX" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/wall,/area/toxins/lab)
-"bGY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1445; id_tag = "tox_main_scrub_1"; on = 1; scrub_Toxins = 1; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
+"bGY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1445; id_tag = "tox_main_scrub_1"; on = 1; scrub_Toxins = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"bGZ" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"bHa" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/machinery/light,/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
"bHb" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/toxins/lab)
@@ -4501,7 +4501,7 @@
"bIC" = (/obj/machinery/power/terminal{dir = 8},/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "yellow"; tag = "icon-yellow"},/area/engine/engine_smes)
"bID" = (/obj/window/reinforced{tag = "icon-rwindow (NORTH)"; icon_state = "rwindow"; dir = 1},/obj/window/reinforced{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/machinery/power/monitor,/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{icon_state = "yellow"; tag = "icon-yellow"},/area/engine/engine_smes)
"bIE" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/wall/r_wall,/area/engine/engine_smes)
-"bIF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{dir = 8; icon_state = "yellow"; tag = "icon-yellow (WEST)"},/area/engine/engine_hallway)
+"bIF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{dir = 8; icon_state = "yellow"; tag = "icon-yellow (WEST)"},/area/engine/engine_hallway)
"bIG" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/engine/engine_hallway)
"bIH" = (/obj/machinery/embedded_controller/radio/access_controller{exterior_door_tag = "eng_access_exterior"; frequency = 1453; id_tag = "eng_access_console"; interior_door_tag = "eng_access_interior"; pixel_y = -24},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor{dir = 4; icon_state = "yellow"; tag = "icon-yellow (EAST)"},/area/engine/engine_hallway)
"bII" = (/turf/simulated/wall,/area/engine/engine_hallway)
@@ -4538,12 +4538,12 @@
"bJn" = (/obj/cable{icon_state = "4-8"; pixel_y = 0; d1 = 4; d2 = 8},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/engine/engine_smes)
"bJo" = (/obj/cable,/obj/cable{icon_state = "0-4"; d2 = 4},/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor,/area/engine/engine_smes)
"bJp" = (/obj/cable,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/engine/engine_smes)
-"bJq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/engine/engine_smes)
+"bJq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/engine/engine_smes)
"bJr" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/turf/simulated/wall/r_wall,/area/engine/engine_smes)
"bJs" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/door/airlock/engineering{frequency = 1453; icon_state = "door_locked"; id_tag = "eng_access_interior"; locked = 1; name = "Engineering Access"; req_access_txt = "10"},/turf/simulated/floor,/area/engine/engine_hallway)
"bJt" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/turf/simulated/wall/r_wall,/area/engine/engine_hallway)
"bJu" = (/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/storage/toolbox/electrical,/obj/item/device/t_scanner,/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
-"bJv" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/engine/engine_hallway)
+"bJv" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/engine/engine_hallway)
"bJw" = (/obj/machinery/atmospherics/pipe/simple{dir = 5; icon_state = "intact-f"; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
"bJx" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/turf/simulated/floor,/area/engine/engine_hallway)
"bJy" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/item/weapon/paper,/turf/simulated/floor,/area/engine/engine_hallway)
@@ -4769,7 +4769,7 @@
"bNK" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor,/area/engine/engine_hallway)
"bNL" = (/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area)
"bNM" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8; initialize_directions = 7},/turf/simulated/wall/r_wall,/area/engine/engine_hallway)
-"bNN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/engine/engine_hallway)
+"bNN" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/engine/engine_hallway)
"bNO" = (/obj/item/device/radio,/turf/simulated/floor/engine,/area/engine/engine_control)
"bNP" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/engine,/area/engine/engine_control)
"bNQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor,/area/engine/engine_hallway)
@@ -4856,7 +4856,7 @@
"bPt" = (/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating/airless,/area/solar/starboard)
"bPu" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/south,/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"bPv" = (/obj/machinery/power/terminal,/obj/cable,/turf/simulated/floor/plating,/area/maintenance/portsolar)
-"bPw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (EAST)"},/turf/simulated/floor/plating,/area/maintenance/portsolar)
+"bPw" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/maintenance/portsolar)
"bPx" = (/obj/machinery/atmospherics/pipe/manifold{dir = 4; initialize_directions = 11},/turf/simulated/wall/r_wall,/area/maintenance/portsolar)
"bPy" = (/turf/simulated/floor{dir = 1; icon_state = "yellowcorner"; tag = "icon-yellowcorner (NORTH)"},/area/engine/engine_hallway)
"bPz" = (/obj/item/device/multitool,/turf/simulated/floor/engine,/area/engine/engine_control)
@@ -4866,7 +4866,7 @@
"bPD" = (/obj/item/clothing/head/helmet/welding,/turf/simulated/floor/engine,/area/engine/engine_control)
"bPE" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor{dir = 4; icon_state = "yellowcorner"; tag = "icon-yellowcorner (EAST)"},/area/engine/engine_hallway)
"bPF" = (/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; initialize_directions = 6; layer = 3},/turf/simulated/wall/r_wall,/area/maintenance/starboardsolar)
-"bPG" = (/obj/item/device/flashlight,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
+"bPG" = (/obj/item/device/flashlight,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"bPH" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"bPI" = (/obj/machinery/power/terminal,/obj/cable,/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"bPJ" = (/obj/grille,/obj/window/reinforced/east,/obj/window/reinforced/south,/obj/window/reinforced{tag = "icon-rwindow (WEST)"; icon_state = "rwindow"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
@@ -4909,7 +4909,7 @@
"bQu" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/cable{icon_state = "4-8"; pixel_y = 0; d1 = 4; d2 = 8},/turf/simulated/floor{dir = 4; icon_state = "yellow"; tag = "icon-yellow (EAST)"},/area/engine/engine_hallway)
"bQv" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/machinery/door/airlock/engineering{name = "Engineering Access"; req_access_txt = "10"},/obj/cable{icon_state = "4-8"; pixel_y = 0; d1 = 4; d2 = 8},/turf/simulated/floor,/area/engine/engine_control)
"bQw" = (/obj/machinery/atmospherics/pipe/manifold,/obj/cable{d2 = 8; icon_state = "0-8"},/obj/cable,/obj/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor{dir = 8; icon_state = "yellow"; tag = "icon-yellow (WEST)"},/area/engine/engine_control)
-"bQx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor,/area/engine/engine_control)
+"bQx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/engine/engine_control)
"bQy" = (/obj/item/weapon/cigbutt,/turf/simulated/floor,/area/engine/engine_control)
"bQz" = (/turf/simulated/floor,/area/engine/engine_control)
"bQA" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/engine/engine_control)
@@ -6656,7 +6656,7 @@
"cxZ" = (/obj/lattice,/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/space,/area/djstation)
"cya" = (/obj/lattice,/obj/machinery/atmospherics/binary/pump{dir = 8; icon_state = "intact_on"; on = 1},/turf/space,/area/djstation)
"cyb" = (/obj/lattice,/obj/machinery/atmospherics/pipe/manifold,/turf/space,/area/djstation)
-"cyc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0; tag = "icon-off (WEST)"},/turf/simulated/floor{icon_state = "white"},/area/djstation)
+"cyc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; icon_state = "off"; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{icon_state = "white"},/area/djstation)
"cyd" = (/obj/disposalpipe/trunk,/obj/machinery/disposal{icon = 'device.dmi'; icon_state = "toilet"; name = "toilet"; pixel_y = 9},/turf/simulated/floor{icon_state = "white"},/area/djstation)
"cye" = (/obj/table,/obj/item/weapon/paper_bin,/obj/item/weapon/pen,/turf/simulated/floor{tag = "icon-cafeteria"; icon_state = "cafeteria"; dir = 2},/area/djstation)
"cyf" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor{tag = "icon-cafeteria"; icon_state = "cafeteria"; dir = 2},/area/djstation)
diff --git a/tgstation.dme b/tgstation.dme
index 58cf4609087..b40c79b451d 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -121,7 +121,6 @@
#define FILE_DIR "interface"
#define FILE_DIR "maps"
#define FILE_DIR "maps/backup"
-#define FILE_DIR "maps/backup/backup"
#define FILE_DIR "sound"
#define FILE_DIR "sound/ambience"
#define FILE_DIR "sound/announcer"
@@ -147,7 +146,6 @@
#include "code\ATMOSPHERICS\atmospherics.dm"
#include "code\ATMOSPHERICS\datum_pipe_network.dm"
#include "code\ATMOSPHERICS\datum_pipeline.dm"
-#include "code\ATMOSPHERICS\init_S_V_A.dm"
#include "code\ATMOSPHERICS\pipes.dm"
#include "code\ATMOSPHERICS\components\filter.dm"
#include "code\ATMOSPHERICS\components\mixer.dm"