diff --git a/code/ATMOSPHERICS/components/trinary_devices/filter.dm b/code/ATMOSPHERICS/components/trinary_devices/filter.dm
index ef43efca6b..5bc9f8d20f 100755
--- a/code/ATMOSPHERICS/components/trinary_devices/filter.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/filter.dm
@@ -236,8 +236,7 @@
dir = SOUTH
initialize_directions = SOUTH|NORTH|EAST
-obj/machinery/atmospherics/trinary/filter/m_filter/New()
- ..()
+obj/machinery/atmospherics/trinary/filter/m_filter/init_dir()
switch(dir)
if(NORTH)
initialize_directions = WEST|NORTH|SOUTH
diff --git a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
index 7f1c7e1e1f..e8a3c1be74 100644
--- a/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
+++ b/code/ATMOSPHERICS/components/trinary_devices/mixer.dm
@@ -181,8 +181,7 @@ obj/machinery/atmospherics/trinary/mixer/t_mixer
//node 3 is the outlet, nodes 1 & 2 are intakes
-obj/machinery/atmospherics/trinary/mixer/t_mixer/New()
- ..()
+obj/machinery/atmospherics/trinary/mixer/t_mixer/init_dir()
switch(dir)
if(NORTH)
initialize_directions = EAST|NORTH|WEST
@@ -227,8 +226,7 @@ obj/machinery/atmospherics/trinary/mixer/m_mixer
//node 3 is the outlet, nodes 1 & 2 are intakes
-obj/machinery/atmospherics/trinary/mixer/m_mixer/New()
- ..()
+obj/machinery/atmospherics/trinary/mixer/m_mixer/init_dir()
switch(dir)
if(NORTH)
initialize_directions = WEST|NORTH|SOUTH
diff --git a/code/game/area/Space Station 13 areas_vr.dm b/code/game/area/Space Station 13 areas_vr.dm
index e20a95a55b..f59fb3d9e1 100644
--- a/code/game/area/Space Station 13 areas_vr.dm
+++ b/code/game/area/Space Station 13 areas_vr.dm
@@ -231,3 +231,42 @@
/area/shuttle/tether/transit
name = "Tether Shuttle Transit"
icon_state = "shuttle2"
+
+/area/rnd/outpost
+ name = "\improper Research Outpost Hallway"
+ icon_state = "research"
+
+/area/rnd/outpost/airlock
+ name = "\improper Research Outpost Airlock"
+ icon_state = "green"
+
+/area/rnd/outpost/eva
+ name = "Research Outpost EVA Storage"
+ icon_state = "eva"
+
+/area/rnd/outpost/chamber
+ name = "\improper Research Outpost Burn Chamber"
+ icon_state = "engine"
+
+/area/rnd/outpost/atmos
+ name = "Research Outpost Atmospherics"
+ icon_state = "atmos"
+
+/area/rnd/outpost/storage
+ name = "\improper Research Outpost Gas Storage"
+ icon_state = "toxstorage"
+
+/area/rnd/outpost/mixing
+ name = "\improper Research Outpost Gas Mixing"
+ icon_state = "toxmix"
+
+/area/rnd/outpost/heating
+ name = "\improper Research Outpost Gas Heating"
+ icon_state = "toxmix"
+
+/area/rnd/outpost/testing
+ name = "\improper Research Outpost Testing"
+ icon_state = "toxtest"
+
+/area/maintenance/substation/outpost
+ name = "Research Outpost Substation"
diff --git a/code/game/machinery/atmoalter/meter.dm b/code/game/machinery/atmoalter/meter.dm
index 13e390538b..32ea378248 100644
--- a/code/game/machinery/atmoalter/meter.dm
+++ b/code/game/machinery/atmoalter/meter.dm
@@ -4,6 +4,7 @@
icon = 'icons/obj/meter_vr.dmi'
icon_state = "meterX"
var/obj/machinery/atmospherics/pipe/target = null
+ var/list/pipes_on_turf = list()
anchored = 1.0
power_channel = ENVIRON
var/frequency = 0
@@ -13,12 +14,29 @@
/obj/machinery/meter/New()
..()
- src.target = locate(/obj/machinery/atmospherics/pipe) in loc
+ spawn(5)
+ target = select_target()
return 1
/obj/machinery/meter/initialize()
+ . = ..()
if (!target)
- src.target = locate(/obj/machinery/atmospherics/pipe) in loc
+ spawn(5)
+ target = select_target()
+
+/obj/machinery/meter/Destroy()
+ pipes_on_turf.Cut()
+ target = null
+ return ..()
+
+/obj/machinery/meter/proc/select_target()
+ var/obj/machinery/atmospherics/pipe/P
+ for(P in loc)
+ if(!P.hides_under_flooring())
+ break
+ if(!P)
+ P = locate(/obj/machinery/atmospherics/pipe) in loc
+ return P
/obj/machinery/meter/process()
if(!target)
@@ -88,35 +106,43 @@
/obj/machinery/meter/Click()
if(istype(usr, /mob/living/carbon/human) || istype(usr, /mob/living/silicon/ai)) // ghosts can call ..() for examine
- usr.examinate(src)
- return 1
+ var/mob/living/L = usr
+ if(!L.get_active_hand() || !L.Adjacent(src))
+ usr.examinate(src)
+ return 1
return ..()
-/obj/machinery/meter/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
- if (!istype(W, /obj/item/weapon/wrench))
- return ..()
- playsound(src, W.usesound, 50, 1)
- user << "You begin to unfasten \the [src]..."
- if (do_after(user, 40 * W.toolspeed))
- user.visible_message( \
- "\The [user] unfastens \the [src].", \
- "You have unfastened \the [src].", \
- "You hear ratchet.")
- new /obj/item/pipe_meter(src.loc)
- qdel(src)
+/obj/machinery/meter/attackby(var/obj/item/W, var/mob/user)
+ if(iswrench(W))
+ playsound(src, W.usesound, 50, 1)
+ to_chat(user, "You begin to unfasten \the [src]...")
+ if(do_after(user, 40 * W.toolspeed))
+ user.visible_message( \
+ "\The [user] unfastens \the [src].", \
+ "You have unfastened \the [src].", \
+ "You hear ratchet.")
+ new /obj/item/pipe_meter(get_turf(src))
+ qdel(src)
+ return
+
+ if(ismultitool(W))
+ for(var/obj/machinery/atmospherics/pipe/P in loc)
+ pipes_on_turf |= P
+ if(!pipes_on_turf.len)
+ return
+ target = pipes_on_turf[1]
+ pipes_on_turf.Remove(target)
+ pipes_on_turf.Add(target)
+ to_chat(user, "Pipe meter set to moniter \the [target].")
+ return
+
+ return ..()
// TURF METER - REPORTS A TILE'S AIR CONTENTS
-/obj/machinery/meter/turf/New()
- ..()
- src.target = loc
- return 1
-
-
-/obj/machinery/meter/turf/initialize()
- if (!target)
- src.target = loc
+/obj/machinery/meter/turf/select_target()
+ return loc
/obj/machinery/meter/turf/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
return
diff --git a/code/game/machinery/atmoalter/pump_vr.dm b/code/game/machinery/atmoalter/pump_vr.dm
new file mode 100644
index 0000000000..d75ba77dc9
--- /dev/null
+++ b/code/game/machinery/atmoalter/pump_vr.dm
@@ -0,0 +1,129 @@
+/obj/machinery/portable_atmospherics/powered/pump/huge
+ name = "Huge Air Pump"
+ icon = 'icons/obj/atmos.dmi'
+ icon_state = "siphon:0"
+ anchored = 1
+ volume = 500000
+
+ use_power = 1
+ idle_power_usage = 50 //internal circuitry, friction losses and stuff
+ active_power_usage = 1000 // Blowers running
+ power_rating = 100000 //100 kW ~ 135 HP
+
+ var/global/gid = 1
+ var/id = 0
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/New()
+ ..()
+ cell = null
+
+ id = gid
+ gid++
+
+ name = "[name] (ID [id])"
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/attack_hand(var/mob/user)
+ to_chat(user, "You can't directly interact with this machine. Use the pump control console.")
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/update_icon()
+ overlays.Cut()
+
+ if(on && !(stat & (NOPOWER|BROKEN)))
+ icon_state = "siphon:1"
+ else
+ icon_state = "siphon:0"
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/power_change()
+ var/old_stat = stat
+ ..()
+ if (old_stat != stat)
+ update_icon()
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/process()
+ if(!anchored || (stat & (NOPOWER|BROKEN)))
+ on = 0
+ last_flow_rate = 0
+ last_power_draw = 0
+ update_icon()
+ var/new_use_power = 1 + on
+ if(new_use_power != use_power)
+ update_use_power(new_use_power)
+ if(!on)
+ return
+
+ var/power_draw = -1
+
+ var/datum/gas_mixture/environment = loc.return_air()
+
+ var/pressure_delta
+ var/output_volume
+ var/air_temperature
+ if(direction_out)
+ pressure_delta = target_pressure - environment.return_pressure()
+ output_volume = environment.volume * environment.group_multiplier
+ air_temperature = environment.temperature? environment.temperature : air_contents.temperature
+ else
+ pressure_delta = environment.return_pressure() - target_pressure
+ output_volume = air_contents.volume * air_contents.group_multiplier
+ air_temperature = air_contents.temperature? air_contents.temperature : environment.temperature
+
+ var/transfer_moles = pressure_delta*output_volume/(air_temperature * R_IDEAL_GAS_EQUATION)
+
+ if(pressure_delta > 0.01)
+ if(direction_out)
+ power_draw = pump_gas(src, air_contents, environment, transfer_moles, power_rating)
+ else
+ power_draw = pump_gas(src, environment, air_contents, transfer_moles, power_rating)
+
+ if (power_draw < 0)
+ last_flow_rate = 0
+ last_power_draw = 0
+ else
+ use_power(power_draw)
+ update_connected_network()
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/attackby(var/obj/item/I, var/mob/user)
+ if(istype(I, /obj/item/weapon/wrench))
+ if(on)
+ user << "Turn \the [src] off first!"
+ return
+
+ anchored = !anchored
+ playsound(get_turf(src), I.usesound, 50, 1)
+ user << "You [anchored ? "wrench" : "unwrench"] \the [src]."
+
+ return
+
+ //doesn't use power cells
+ if(istype(I, /obj/item/weapon/cell))
+ return
+ if (istype(I, /obj/item/weapon/screwdriver))
+ return
+
+ //doesn't hold tanks
+ if(istype(I, /obj/item/weapon/tank))
+ return
+
+ ..()
+
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/stationary
+ name = "Stationary Air Pump"
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/stationary/attackby(var/obj/item/I, var/mob/user)
+ if(istype(I, /obj/item/weapon/wrench))
+ user << "The bolts are too tight for you to unscrew!"
+ return
+
+ ..()
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/stationary/purge
+ on = 1
+ start_pressure = 0
+ target_pressure = 0
+
+/obj/machinery/portable_atmospherics/powered/pump/huge/stationary/purge/power_change()
+ ..()
+ if(!(stat & (NOPOWER|BROKEN)))
+ on = 1
+ update_icon()
\ No newline at end of file
diff --git a/code/game/machinery/bomb_tester_vr.dm b/code/game/machinery/bomb_tester_vr.dm
new file mode 100644
index 0000000000..66d71f923d
--- /dev/null
+++ b/code/game/machinery/bomb_tester_vr.dm
@@ -0,0 +1,384 @@
+#define MODE_SINGLE 1
+#define MODE_DOUBLE 2
+#define MODE_CANISTER 3
+
+/obj/machinery/bomb_tester
+ name = "explosive effect simulator"
+ desc = "A device that can calculate the potential explosive yield of provided gases."
+ icon = 'icons/obj/machines/bomb_tester_vr.dmi'
+ icon_state = "generic"
+ anchored = 1
+ density = 1
+ idle_power_usage = 50
+ active_power_usage = 1.5 KILOWATTS
+
+ circuit = /obj/item/weapon/circuitboard/bomb_tester
+
+ var/icon_name = "generic"
+
+ var/obj/item/weapon/tank/tank1
+ var/obj/item/weapon/tank/tank2
+ var/obj/machinery/portable_atmospherics/canister/test_canister
+
+ var/sim_mode = MODE_SINGLE
+ var/sim_canister_output = 10*ONE_ATMOSPHERE
+
+ var/simulating = 0
+ var/simulation_started = 0
+ var/simulation_delay = 20 SECONDS
+
+ var/simulation_results
+
+ var/datum/gas_mixture/faketank
+ var/faketank_integrity
+
+/obj/machinery/bomb_tester/New()
+ ..()
+ default_apply_parts()
+ RefreshParts()
+ faketank = new
+
+/obj/machinery/bomb_tester/Destroy()
+ tank1 = null //Base machine Destroy()
+ tank2 = null //handles deleting contents
+ test_canister = null
+ ..()
+
+/obj/machinery/bomb_tester/dismantle()
+ if(tank1)
+ tank1.forceMove(get_turf(src))
+ tank1 = null
+ if(tank2)
+ tank2.forceMove(get_turf(src))
+ tank2 = null
+ simulation_finish(1)
+ return ..()
+
+/obj/machinery/bomb_tester/process()
+ ..()
+ if(test_canister && !Adjacent(test_canister))
+ test_canister = null
+ if(simulating && world.time >= simulation_started + simulation_delay)
+ simulation_finish()
+
+/obj/machinery/bomb_tester/update_icon()
+ overlays.Cut()
+ if(tank1)
+ overlays += image(icon, "[icon_name]-tank1")
+ if(tank2)
+ overlays += image(icon, "[icon_name]-tank2")
+ if(stat & NOPOWER)
+ icon_state = "[icon_name]-p"
+ else
+ icon_state = "[icon_name][simulating]"
+
+/obj/machinery/bomb_tester/power_change()
+ ..()
+ update_icon()
+ if(simulating && stat & NOPOWER)
+ simulation_finish(1)
+
+/obj/machinery/bomb_tester/RefreshParts()
+ ..()
+ var/scan_rating = 0
+ for(var/obj/item/weapon/stock_parts/scanning_module/S in component_parts)
+ scan_rating += S.rating
+ simulation_delay = 25 SECONDS - scan_rating SECONDS
+
+/obj/machinery/bomb_tester/attackby(var/obj/item/I, var/mob/user)
+ if(default_deconstruction_screwdriver(user, I))
+ return
+ if(default_deconstruction_crowbar(user, I))
+ return
+ if(default_part_replacement(user, I))
+ return
+ if(istype(I, /obj/item/weapon/tank))
+ if(!tank1 || !tank2)
+ user.drop_item(I)
+ I.forceMove(src)
+ if(!tank1)
+ tank1 = I
+ else
+ tank2 = I
+ update_icon()
+ updateUsrDialog()
+ to_chat(user, "You connect \the [I] to \the [src]'s [I==tank1 ? "primary" : "secondary"] slot.")
+ return
+ ..()
+
+/obj/machinery/bomb_tester/attack_hand(var/mob/user)
+ add_fingerprint(user)
+ interact(user)
+
+/obj/machinery/bomb_tester/interact(var/mob/user)
+ if(stat & NOPOWER)
+ return
+
+ var/dat = "
Bomb Tester"
+
+
+ dat += "Virtual Explosive Simulator v1.03"
+ dat += "
"
+
+ if(simulating)
+ dat += "
Simulation in progress! Please wait for results."
+
+ else
+ dat += "
Mode: [sim_mode==MODE_SINGLE?"Single Tank":"Single Tank"] -- [sim_mode==MODE_DOUBLE?"Transfer Valve":"Transfer Valve"] -- [sim_mode==MODE_CANISTER?"Canister":"Canister"]"
+ dat += "
"
+ dat += "
Gas Sources"
+ dat += "
[tank1?"\[[tank1.name]\]":"\[Primary Slot\]"] -- [tank2?"\[[tank2.name]\]":"\[Secondary Slot\]"]"
+ dat += "
Connected Canister: [test_canister?"[test_canister.name] -- ":"None -- "][test_canister?"\[Rescan\]":"\[Scan for canister\]"]"
+ if(test_canister)
+ dat += "
Canister Release Pressure: [sim_canister_output] Kilopascals"
+
+ dat += "
"
+ dat += "-1000|"
+ dat += "-100|"
+ dat += "-10|"
+ dat += "-1 ||| "
+
+ dat += "+1|"
+ dat += "+10|"
+ dat += "+100|"
+ dat += "+1000"
+ dat += ""
+
+ dat += "
"
+ dat += "
BEGIN SIMULATION"
+
+ user.set_machine(src)
+ user << browse(dat, "window=bomb_tester")
+ onclose(user, "bomb_tester")
+
+/obj/machinery/bomb_tester/Topic(href, href_list)
+ if(..())
+ return
+ if(stat & NOPOWER)
+ return
+ if(!usr.Adjacent(src))
+ usr << browse(null, "window=bomb_tester")
+ usr.unset_machine()
+ return
+ if(simulating)
+ return
+
+ if(href_list["set_mode"])
+ sim_mode = text2num(href_list["set_mode"])
+ var/text_mode
+ switch(sim_mode)
+ if(MODE_SINGLE)
+ text_mode = "single gas tank detonation"
+ if(MODE_DOUBLE)
+ text_mode = "tank transfer valve detonation"
+ if(MODE_CANISTER)
+ text_mode = "canister-assisted single gas tank detonation"
+ to_chat(usr, "[src] set to simulate a [text_mode].")
+
+ if(href_list["tank"])
+ var/tankvar = "tank[href_list["tank"]]"
+ var/obj/item/weapon/tank/T
+ if(vars[tankvar])
+ T = vars[tankvar]
+ T.forceMove(get_turf(src))
+ vars[tankvar] = null
+ else if(istype(usr.get_active_hand(),/obj/item/weapon/tank))
+ T = usr.get_active_hand()
+ usr.drop_item(T)
+ T.forceMove(src)
+ vars[tankvar] = T
+ update_icon()
+
+ if(href_list["canister_scan"])
+ for(var/obj/machinery/portable_atmospherics/canister/C in orange(1,src))
+ if(C && C == test_canister)
+ continue
+ else if(C)
+ test_canister = C
+ break
+ else
+ test_canister = null
+
+ if(href_list["set_can_pressure"])
+ var/change = text2num(href_list["set_can_pressure"])
+ sim_canister_output = Clamp(sim_canister_output+change, ONE_ATMOSPHERE/10, ONE_ATMOSPHERE*10)
+
+ if(href_list["start_sim"])
+ start_simulating()
+
+ updateUsrDialog()
+
+/obj/machinery/bomb_tester/proc/start_simulating()
+ simulating = 1
+ update_use_power(2)
+ simulation_started = world.time
+ update_icon()
+ switch(sim_mode)
+ if(MODE_SINGLE)
+ if(!tank1)
+ simulation_results = "Error"
+ return
+ spawn()
+ single_tank_sim()
+
+ if(MODE_DOUBLE)
+ if(!tank1 || !tank2)
+ simulation_results = "Error"
+ return
+ spawn()
+ ttv_sim()
+
+ if(MODE_CANISTER)
+ if(!tank1 || !test_canister)
+ simulation_results = "Error"
+ return
+ spawn()
+ canister_sim()
+
+/obj/machinery/bomb_tester/proc/simulate_tank() //This is a heavily cut down version of check_status() from tanks.dm
+ faketank.react()
+ var/pressure = faketank.return_pressure()
+ if(pressure > TANK_FRAGMENT_PRESSURE)
+ if(faketank_integrity <= 7)
+ faketank.react()
+ faketank.react()
+ faketank.react()
+ pressure = faketank.return_pressure()
+
+ var/strength = (pressure-TANK_FRAGMENT_PRESSURE)/TANK_FRAGMENT_SCALE
+ var/mult = ((faketank.volume/140)**(1/2)) * (faketank.total_moles**2/3)/((29*0.64) **2/3) //Don't ask me what this is, see tanks.dm
+
+ var/dev = round((mult*strength)*0.15)
+ var/heavy = round((mult*strength)*0.35)
+ var/light = round((mult*strength)*0.80)
+ simulation_results += "
Final Result: Explosive tank rupture. [dev?"Extreme damage within [2.5*dev] meters. ":""][heavy?"Heavy damage within [2.5*heavy] meters. ":""][light?"Light damage within [2.5*light] meters. ":""]Hazardous shrapnel produced."
+ return 1
+ else
+ faketank_integrity -= 7
+
+ else if(pressure > TANK_RUPTURE_PRESSURE)
+ faketank.react()
+ if(faketank_integrity <= 0)
+ simulation_results += "
Final Result: Tank rupture, minimal concussive force. Hazardous shrapnel produced."
+ return 1
+ else
+ faketank_integrity -= 5
+
+ else if(pressure > TANK_LEAK_PRESSURE || faketank.temperature - T0C > 173)
+ faketank_integrity -= 1
+ return 0
+
+/obj/machinery/bomb_tester/proc/single_tank_sim()
+ faketank.volume = tank1.volume
+ faketank.copy_from(tank1.air_contents)
+ faketank_integrity = tank1.integrity
+
+ simulation_results = "Single Tank Ignition Test
"
+ simulation_results += "
"
+
+ simulation_results += "
Initial gas tank status:
[format_gas_for_results(faketank)]"
+
+ faketank.add_thermal_energy(15000)
+
+ var/intervals = 0
+ while(intervals < 10)
+ intervals++
+ simulation_results += "
[intervals*2] seconds after ignition."
+ if(simulate_tank())
+ break
+ simulation_results += "
Gas tank status:
[format_gas_for_results(faketank)]"
+ sleep(2)
+
+ if(intervals == 10)
+ simulation_results += "
Final Result: No detonation."
+
+/obj/machinery/bomb_tester/proc/ttv_sim()
+ faketank.volume = tank1.air_contents.volume + tank2.air_contents.volume
+ faketank.copy_from(tank1.air_contents)
+ faketank_integrity = tank1.integrity
+ faketank.merge(tank2.air_contents)
+
+ simulation_results = "Tank Transfer Valve Mixture Test
"
+ simulation_results += "
"
+
+ simulation_results += "
Initial gas mixture status:
[format_gas_for_results(faketank)]"
+
+ var/intervals = 0
+ while(intervals < 10)
+ intervals++
+ simulation_results += "
[intervals*2] seconds after combining."
+ if(simulate_tank())
+ break
+ simulation_results += "
Gas mixture status:
[format_gas_for_results(faketank)]"
+ sleep(2)
+
+ if(intervals == 10)
+ simulation_results += "
Final Result: No detonation."
+
+/obj/machinery/bomb_tester/proc/canister_sim()
+ test_canister.anchored = 1
+ faketank.volume = tank1.air_contents.volume
+ faketank.copy_from(tank1.air_contents)
+ faketank_integrity = tank1.integrity
+
+ var/datum/gas_mixture/fakecanister = new
+ fakecanister.volume = test_canister.air_contents.volume
+ fakecanister.copy_from(test_canister.air_contents)
+ var/fakecanister_RFL = test_canister.release_flow_rate
+
+ simulation_results = "Canister-Assisted Single Tank Ignition Test
"
+ simulation_results += "
"
+
+ simulation_results += "
Initial gas tank status:
[format_gas_for_results(faketank)]"
+
+ var/intervals = 0
+ while(intervals < 10)
+ intervals++
+ simulation_results += "
[intervals*2] seconds after combining."
+ var/pressure_delta = sim_canister_output - faketank.return_pressure()
+ if(pressure_delta > 0)
+ var/transfer_moles = calculate_transfer_moles(fakecanister, faketank, pressure_delta)
+ transfer_moles = min(transfer_moles, (fakecanister_RFL/fakecanister.volume)*fakecanister.total_moles)
+ pump_gas_passive(src, fakecanister, faketank, transfer_moles)
+ if(simulate_tank())
+ break
+ simulation_results += "
Gas tank status:
[format_gas_for_results(faketank)]"
+ sleep(2)
+
+ if(intervals == 10)
+ simulation_results += "
Final Result: No detonation."
+
+/obj/machinery/bomb_tester/proc/simulation_finish(cancelled = 0)
+ simulating = 0
+ update_use_power(1)
+ update_icon()
+ if(test_canister && test_canister.anchored && !test_canister.connected_port)
+ test_canister.anchored = 0
+ if(cancelled)
+ return
+ if(simulation_results == "Error")
+ playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
+ state("Invalid parameters.")
+ else
+ ping("Simulation complete!")
+ playsound(loc, "sound/effects/printer.ogg", 50, 1)
+ var/obj/item/weapon/paper/P = new(get_turf(src))
+ P.name = "Explosive Simulator printout"
+ P.info = simulation_results
+
+/obj/machinery/bomb_tester/proc/format_gas_for_results(var/datum/gas_mixture/G)
+ G.update_values() //Just in case
+ var/results = ""
+ var/pressure = G.return_pressure()
+
+ results += "Pressure: [round(pressure,0.1)] kPa"
+ if(G.total_moles)
+ results += "
Temperature: [round(G.temperature-T0C)]°C"
+ for(var/mix in G.gas)
+ results += "
[gas_data.name[mix]]: [round((G.gas[mix] / G.total_moles) * 100)]%"
+
+ return results
+
+#undef MODE_SINGLE
+#undef MODE_DOUBLE
+#undef MODE_CANISTER
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm
index 931e535c1b..b88ba62452 100644
--- a/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm
+++ b/code/game/objects/items/weapons/circuitboards/circuitboards_vr.dm
@@ -35,4 +35,14 @@
origin_tech = list(TECH_ENGINEERING = 4, TECH_POWER = 3)
req_components = list(
/obj/item/stack/cable_coil = 20,
- /obj/item/weapon/stock_parts/capacitor/super = 3)
\ No newline at end of file
+ /obj/item/weapon/stock_parts/capacitor/super = 3)
+
+// Board for the bomb tester in bomb_tester_vr.dm
+/obj/item/weapon/circuitboard/bomb_tester
+ name = T_BOARD("explosive effect simulator")
+ build_path = /obj/machinery/bomb_tester
+ board_type = new /datum/frame/frame_types/machine
+ origin_tech = list(TECH_PHORON = 3, TECH_DATA = 2, TECH_MAGNET = 2)
+ req_components = list(
+ /obj/item/weapon/stock_parts/matter_bin/adv = 1,
+ /obj/item/weapon/stock_parts/scanning_module = 5)
\ No newline at end of file
diff --git a/code/game/turfs/flooring/flooring_decals_vr.dm b/code/game/turfs/flooring/flooring_decals_vr.dm
index 6f07c769af..d0f1e2e70c 100644
--- a/code/game/turfs/flooring/flooring_decals_vr.dm
+++ b/code/game/turfs/flooring/flooring_decals_vr.dm
@@ -6,4 +6,8 @@
/obj/effect/floor_decal/flesh/colour
name = "flesh"
icon = 'icons/turf/stomach_vr.dmi'
- icon_state = "c_flesh_floor_edges"
\ No newline at end of file
+ icon_state = "c_flesh_floor_edges"
+
+/obj/effect/floor_decal/industrial/outline/red
+ name = "red outline"
+ color = COLOR_RED
\ No newline at end of file
diff --git a/code/modules/examine/descriptions/atmospherics.dm b/code/modules/examine/descriptions/atmospherics.dm
index e01600aa6d..cdf853f63d 100644
--- a/code/modules/examine/descriptions/atmospherics.dm
+++ b/code/modules/examine/descriptions/atmospherics.dm
@@ -157,7 +157,8 @@
//Meters
/obj/machinery/meter
- description_info = "Measures the volume and temperature of the pipe under the meter."
+ description_info = "Measures the volume and temperature of the pipe under the meter.\
+ Using a multitool on this will cycle through any other pipes on the same tile."
//Pipe dispensers
/obj/machinery/pipedispenser
diff --git a/code/modules/research/designs_vr.dm b/code/modules/research/designs_vr.dm
index 1561696c16..75e96834f6 100644
--- a/code/modules/research/designs_vr.dm
+++ b/code/modules/research/designs_vr.dm
@@ -172,4 +172,11 @@
id = "thermoregulator"
req_tech = list(TECH_ENGINEERING = 4, TECH_POWER = 3)
build_path = /obj/item/weapon/circuitboard/thermoregulator
- sort_string = "HABAF"
\ No newline at end of file
+ sort_string = "HABAF"
+
+/datum/design/circuit/bomb_tester
+ name = "Explosive Effect Simulator"
+ id = "bomb_tester"
+ req_tech = list(TECH_PHORON = 3, TECH_DATA = 2, TECH_MAGNET = 2)
+ build_path = /obj/item/weapon/circuitboard/bomb_tester
+ sort_string = "HABAG"
\ No newline at end of file
diff --git a/icons/obj/machines/bomb_tester_vr.dmi b/icons/obj/machines/bomb_tester_vr.dmi
new file mode 100644
index 0000000000..849dc5ead0
Binary files /dev/null and b/icons/obj/machines/bomb_tester_vr.dmi differ
diff --git a/maps/tether/tether-05-solars.dmm b/maps/tether/tether-05-solars.dmm
index 62bc170ae9..18e44ad285 100644
--- a/maps/tether/tether-05-solars.dmm
+++ b/maps/tether/tether-05-solars.dmm
@@ -41,7 +41,7 @@
"aO" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Solar Farm - SMES 3"},/obj/structure/cable/heavyduty,/turf/simulated/floor/virgo3b_indoors,/area/tether/outpost/solars_shed)
"aP" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/machinery/power/sensor{name = "Powernet Sensor - Solar Farm Output"; name_tag = "Solar Farm Output"},/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
"aQ" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
-"aR" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/solar_control,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow,/turf/simulated/floor/virgo3b_indoors,/area/tether/outpost/solars_shed)
+"aR" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/solar_control,/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow,/turf/simulated/floor/virgo3b_indoors,/area/tether/outpost/solars_shed)
"aS" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -28},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/virgo3b_indoors,/area/tether/outpost/solars_shed)
"aT" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/camera/network/engineering{dir = 1},/turf/simulated/floor/virgo3b_indoors,/area/tether/outpost/solars_shed)
"aU" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable/yellow{d2 = 8; icon_state = "0-8"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/virgo3b_indoors,/area/tether/outpost/solars_shed)
@@ -92,6 +92,398 @@
"bN" = (/turf/simulated/floor/outdoors/dirt/virgo3b,/area/shuttle/tether/crash1)
"bO" = (/turf/simulated/floor/outdoors/dirt/virgo3b,/area/syndicate_station/mining{base_turf = /turf/simulated/floor/outdoors/dirt/virgo3b})
"bP" = (/obj/structure/symbol/em,/turf/simulated/wall,/area/tether/outpost/solars_shed)
+"bQ" = (/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/structure/railing{dir = 1},/obj/structure/railing,/obj/structure/cable/heavyduty{icon_state = "2-4"},/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
+"bR" = (/obj/effect/floor_decal/rust,/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/catwalk,/obj/effect/floor_decal/rust,/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
+"bS" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/catwalk,/obj/effect/floor_decal/rust,/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
+"bT" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/railing,/obj/structure/catwalk,/obj/effect/floor_decal/rust,/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
+"bU" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/railing{dir = 8},/obj/structure/railing{dir = 4},/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
+"bV" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/tether/outpost/solars_outside)
+"bW" = (/turf/simulated/wall,/area/rnd/outpost/mixing)
+"bX" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/corner_steel_grid,/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/tether/outpost/solars_outside)
+"bY" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/corner_steel_grid{dir = 10},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/tether/outpost/solars_outside)
+"bZ" = (/obj/effect/floor_decal/rust,/obj/effect/floor_decal/corner_steel_grid{dir = 8},/turf/simulated/floor/tiled/steel_dirty/virgo3b,/area/tether/outpost/solars_outside)
+"ca" = (/turf/simulated/wall,/area/tether/outpost/solars_outside)
+"cb" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/mixing)
+"cc" = (/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cd" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{scrub_id = "science_outpost"},/obj/effect/floor_decal/corner/purple/full{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"ce" = (/obj/machinery/atmospherics/unary/freezer{dir = 2; icon_state = "freezer"},/obj/effect/floor_decal/corner/purple/full{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cf" = (/turf/simulated/wall,/area/rnd/outpost/testing)
+"cg" = (/turf/simulated/wall,/area/rnd/outpost/eva)
+"ch" = (/turf/simulated/wall,/area/rnd/outpost/airlock)
+"ci" = (/obj/structure/sign/department/toxins,/turf/simulated/wall,/area/rnd/outpost/airlock)
+"cj" = (/obj/machinery/access_button/airlock_exterior{master_tag = "sci_outpost"; pixel_x = 28; pixel_y = 6},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "sci_outpost_outer"; locked = 1},/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"ck" = (/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "sci_outpost_outer"; locked = 1},/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"cl" = (/obj/structure/sign/department/toxin_res{name = "TOXINS"},/turf/simulated/wall,/area/rnd/outpost/airlock)
+"cm" = (/obj/structure/cable/heavyduty{icon_state = "1-2"},/obj/structure/railing{dir = 4},/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
+"cn" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"co" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cp" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cq" = (/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cr" = (/obj/item/device/radio/intercom{pixel_y = 24; req_access = list()},/obj/effect/floor_decal/corner/purple{dir = 5},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cs" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"ct" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cu" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 6},/obj/effect/floor_decal/corner/purple{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cv" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/obj/machinery/camera/network/research_outpost{dir = 8},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cw" = (/obj/machinery/bomb_tester,/turf/simulated/floor/tiled/steel_grid,/area/rnd/outpost/testing)
+"cx" = (/obj/structure/filingcabinet/filingcabinet,/turf/simulated/floor/tiled/steel_grid,/area/rnd/outpost/testing)
+"cy" = (/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/turf/simulated/floor/greengrid,/area/rnd/outpost/testing)
+"cz" = (/obj/structure/table/rack,/obj/machinery/door/window/eastleft,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/storage/hooded/wintercoat/science,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"cA" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/structure/table/standard,/obj/item/weapon/storage/toolbox/emergency,/obj/item/device/radio/intercom{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"cB" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"cC" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 28},/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{frequency = 1379; scrub_id = "sci_outpost_scrubber"},/obj/structure/cable/green{icon_state = "0-4"},/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/rnd/outpost/airlock)
+"cD" = (/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 10},/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"cE" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"cF" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{frequency = 1379; scrub_id = "sci_outpost_scrubber"},/obj/structure/railing,/obj/structure/railing{dir = 8},/turf/simulated/floor/plating,/area/rnd/outpost/airlock)
+"cG" = (/obj/structure/extinguisher_cabinet{pixel_x = -28},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cH" = (/obj/machinery/atmospherics/pipe/manifold4w/visible,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cI" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cJ" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cK" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cL" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cN" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/black,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cP" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"cQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/device/radio/intercom{pixel_y = 24; req_access = list()},/obj/structure/table/standard,/obj/item/weapon/folder/white,/obj/item/weapon/pen/fountain,/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"cR" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/obj/machinery/newscaster{pixel_y = 32},/obj/item/stack/cable_coil,/obj/item/stack/cable_coil,/obj/item/weapon/wirecutters,/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"cS" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/steel_grid,/area/rnd/outpost/testing)
+"cT" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"cU" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/steel_grid,/area/rnd/outpost/testing)
+"cV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/steel_grid,/area/rnd/outpost/testing)
+"cW" = (/obj/structure/table/rack,/obj/machinery/door/window/eastright,/obj/item/clothing/mask/gas,/obj/item/clothing/suit/storage/hooded/wintercoat/science,/obj/item/weapon/tank/emergency/oxygen/engi,/obj/structure/window/basic,/obj/structure/window/basic{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"cX" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"cY" = (/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"cZ" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{frequency = 1379; scrub_id = "sci_outpost_scrubber"},/obj/structure/railing{dir = 4},/obj/machinery/camera/network/research_outpost{dir = 4},/turf/simulated/floor/plating,/area/rnd/outpost/airlock)
+"da" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "sci_outpost_pump"},/turf/simulated/floor/tiled/monotile,/area/rnd/outpost/airlock)
+"db" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; frequency = 1379; id_tag = "sci_outpost_pump"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/monotile,/area/rnd/outpost/airlock)
+"dc" = (/obj/machinery/airlock_sensor/phoron{id_tag = "sci_outpost_sensor"; pixel_x = 24; pixel_y = -8},/obj/machinery/embedded_controller/radio/airlock/phoron{id_tag = "sci_outpost"; pixel_x = 24; pixel_y = 2},/obj/effect/floor_decal/steeldecal/steel_decals_central5{tag = "icon-steel_decals_central5 (EAST)"; icon_state = "steel_decals_central5"; dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"dd" = (/obj/structure/cable/heavyduty{icon_state = "1-4"},/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
+"de" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/turf/simulated/floor/outdoors/dirt/virgo3b,/area/tether/outpost/solars_outside)
+"df" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/outdoors/dirt/virgo3b,/area/tether/outpost/solars_outside)
+"dg" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 10},/turf/simulated/floor/outdoors/dirt/virgo3b,/area/tether/outpost/solars_outside)
+"dh" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/camera/network/research_outpost,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"di" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/mixing)
+"dj" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dk" = (/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dl" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dm" = (/obj/machinery/atmospherics/pipe/manifold/visible,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dn" = (/obj/machinery/atmospherics/trinary/mixer/m_mixer{dir = 4; initialize_directions = 7; name = "High Power Gas mixer"; power_rating = 15000},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"do" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dp" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/black,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dq" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dr" = (/obj/structure/bed/chair/office/light{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"ds" = (/obj/structure/table/standard,/obj/item/weapon/tank/phoron,/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dt" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/monotile,/area/rnd/outpost/testing)
+"du" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dv" = (/obj/structure/dispenser,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dw" = (/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dx" = (/obj/machinery/washing_machine,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"dy" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{icon_state = "0-2"},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"dz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"dA" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{frequency = 1379; scrub_id = "sci_outpost_scrubber"},/obj/structure/railing{dir = 4},/turf/simulated/floor/plating,/area/rnd/outpost/airlock)
+"dB" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4; icon_state = "map"; tag = "icon-manifold-f (EAST)"},/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 5},/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"dC" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals10{dir = 6},/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"dD" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{frequency = 1379; scrub_id = "sci_outpost_scrubber"},/obj/structure/railing{dir = 1},/obj/structure/railing{dir = 8},/turf/simulated/floor/plating,/area/rnd/outpost/airlock)
+"dE" = (/turf/simulated/wall,/area/maintenance/substation/outpost)
+"dF" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/simulated/floor/outdoors/dirt/virgo3b,/area/tether/outpost/solars_outside)
+"dG" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 8},/turf/simulated/floor/outdoors/dirt/virgo3b,/area/tether/outpost/solars_outside)
+"dH" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/blue,/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dI" = (/obj/machinery/atmospherics/pipe/manifold/visible/blue{dir = 1},/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/mixing)
+"dJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dK" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dL" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dM" = (/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dN" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dO" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dP" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dQ" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4},/obj/machinery/meter,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"dR" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table/standard,/obj/item/weapon/weldingtool,/obj/item/clothing/glasses/welding,/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dS" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/obj/item/weapon/screwdriver,/obj/item/device/assembly_holder/timer_igniter,/obj/machinery/camera/network/research_outpost{dir = 4},/obj/machinery/light_switch{dir = 1; pixel_x = 4; pixel_y = -24},/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dT" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dV" = (/obj/machinery/vending/phoronresearch{name = "Toximate 2556"; products = list(/obj/item/device/assembly/timer = 6, /obj/item/device/assembly/signaler = 6, /obj/item/device/assembly/prox_sensor = 6, /obj/item/device/assembly/igniter = 12)},/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dW" = (/obj/machinery/requests_console/preset/research{pixel_y = -30},/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"dX" = (/obj/machinery/door/window/southright{name = "Science Outpost EVA"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/machinery/door/firedoor/glass/hidden/steel{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"dY" = (/obj/machinery/door/window/southleft{name = "Science Outpost EVA"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals5,/obj/effect/floor_decal/steeldecal/steel_decals5{dir = 1},/obj/machinery/door/firedoor/glass/hidden/steel,/obj/machinery/light_switch{dir = 4; pixel_x = -28},/turf/simulated/floor/tiled,/area/rnd/outpost/eva)
+"dZ" = (/obj/structure/sign/warning/nosmoking_1,/turf/simulated/wall,/area/rnd/outpost/airlock)
+"ea" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/access_button/airlock_interior{master_tag = "sci_outpost"; pixel_x = 24; pixel_y = -6},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "sci_outpost_inner"; locked = 1},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"eb" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/airlock/glass_external{frequency = 1379; icon_state = "door_locked"; id_tag = "sci_outpost_inner"; locked = 1},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/rnd/outpost/airlock)
+"ec" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"ed" = (/obj/machinery/telecomms/relay/preset/tether/sci_outpost,/turf/simulated/floor,/area/maintenance/substation/outpost)
+"ee" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/structure/cable/heavyduty{icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/maintenance/substation/outpost)
+"ef" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable/heavyduty{dir = 2; icon_state = "0-4"},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"eg" = (/obj/structure/cable/heavyduty{icon_state = "1-8"; tag = "icon-1-4"},/turf/simulated/floor/virgo3b,/area/tether/outpost/solars_outside)
+"eh" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/simulated/floor/outdoors/dirt/virgo3b,/area/tether/outpost/solars_outside)
+"ei" = (/obj/machinery/atmospherics/valve,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"ej" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/mixing)
+"ek" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/floor_decal/industrial/outline/blue,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"el" = (/obj/machinery/atmospherics/pipe/simple/visible{icon_state = "intact"; dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"em" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"en" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eo" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; name = "High Power Gas filter"; power_rating = 15000; use_power = 0},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"ep" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold4w/hidden/black,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eq" = (/obj/machinery/atmospherics/unary/heater{dir = 1; icon_state = "heater"},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"er" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"es" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/multi_tile/glass{name = "Toxins Workroom"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/rnd/outpost/testing)
+"et" = (/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 1},/obj/machinery/vending/sovietsoda,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eu" = (/turf/simulated/wall,/area/rnd/outpost)
+"ev" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"ew" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"ex" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/camera/network/research_outpost,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"ey" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"ez" = (/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eA" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eB" = (/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/obj/item/device/radio/intercom{dir = 8; pixel_x = 24},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"eD" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Science Outpost Substation Bypass"},/obj/machinery/camera/network/research_outpost{dir = 4},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"eE" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"eF" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 4},/turf/simulated/floor/outdoors/grass/sif/virgo3b,/area/tether/outpost/solars_outside)
+"eG" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 9},/turf/simulated/floor/outdoors/grass/sif/virgo3b,/area/tether/outpost/solars_outside)
+"eH" = (/obj/machinery/atmospherics/pipe/manifold/visible/blue{dir = 8},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eI" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 1},/turf/simulated/floor/tiled/steel_ridged,/area/rnd/outpost/mixing)
+"eJ" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/obj/structure/window/basic{dir = 8},/obj/structure/window/basic{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 1},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/steel_ridged,/area/rnd/outpost/mixing)
+"eK" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eL" = (/obj/machinery/atmospherics/pipe/manifold/visible/blue{dir = 4},/obj/machinery/meter,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/portables_connector{dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/black{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eP" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"eQ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eR" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/borderfloor{dir = 9},/obj/effect/floor_decal/corner/purple/border{dir = 9},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/extinguisher_cabinet{dir = 4; icon_state = "extinguisher_closed"; pixel_x = -30; tag = "icon-extinguisher_closed (EAST)"},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eS" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eT" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals6{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eU" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/borderfloor/corner2{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eW" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor/corner{dir = 1},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eX" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/firedoor/glass/hidden/steel{dir = 2},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eY" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"eZ" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fa" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fc" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fd" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/alarm{dir = 8; pixel_x = 22; pixel_y = 0},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; icon_state = "intact"; tag = "icon-intact-f (SOUTHWEST)"},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fe" = (/obj/machinery/power/terminal{dir = 8},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/substation/outpost)
+"ff" = (/obj/machinery/power/smes/buildable{RCon_tag = "Science Outpost"},/obj/structure/cable/green,/obj/structure/cable/green{icon_state = "0-2"},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"fg" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"fh" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fi" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 4},/obj/structure/window/basic{dir = 4},/obj/effect/floor_decal/corner/blue/border{dir = 4},/turf/simulated/floor/tiled/steel_ridged,/area/rnd/outpost/mixing)
+"fj" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 8},/obj/structure/window/basic{dir = 8},/obj/effect/floor_decal/corner/blue/border{dir = 8},/turf/simulated/floor/tiled/steel_ridged,/area/rnd/outpost/mixing)
+"fk" = (/obj/machinery/atmospherics/pipe/manifold/visible/blue{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fm" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/black,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/airlock/glass_science{name = "General Gasworks"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/rnd/outpost/mixing)
+"fq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/corner/purple{dir = 6},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fr" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fs" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"ft" = (/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fu" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fv" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fw" = (/obj/machinery/door/firedoor/glass/hidden/steel{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fx" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/monotile,/area/rnd/outpost)
+"fy" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fz" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/substation/outpost)
+"fA" = (/obj/structure/cable/green,/obj/structure/cable/green{icon_state = "0-4"},/obj/machinery/power/sensor{name = "Powernet Sensor - Science Outpost Subgrid"; name_tag = "Science Outpost Subgrid"},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"fB" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/machinery/light/small{dir = 4; pixel_y = 0},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"fC" = (/turf/simulated/wall,/area/rnd/outpost/atmos)
+"fD" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fE" = (/obj/machinery/atmospherics/pipe/simple/visible/blue{dir = 5},/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{scrub_id = "science_outpost"},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fF" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/obj/structure/table/standard,/obj/item/device/analyzer,/obj/machinery/camera/network/research_outpost{dir = 1},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fG" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/obj/structure/table/standard,/obj/item/weapon/wrench{pixel_x = 2; pixel_y = 2},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/item/weapon/wrench{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fH" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 9},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/machinery/pipedispenser,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fI" = (/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/item/device/radio/intercom{dir = 1; pixel_y = -24},/obj/effect/floor_decal/corner/purple{dir = 10},/obj/structure/table/standard,/obj/fiftyspawner/steel,/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fJ" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/cable/green,/obj/machinery/light_switch{dir = 8; pixel_x = 28},/obj/effect/floor_decal/corner/purple/full{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/mixing)
+"fK" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fL" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fM" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fN" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fO" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/machinery/camera/network/research_outpost{dir = 1},/obj/machinery/door/firedoor/glass/hidden/steel{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fP" = (/obj/structure/sign/warning/high_voltage,/turf/simulated/wall,/area/maintenance/substation/outpost)
+"fQ" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fR" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor,/area/maintenance/substation/outpost)
+"fS" = (/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"fT" = (/obj/machinery/atmospherics/pipe/tank/air,/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"fU" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/empty/nitrogen,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"fV" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/mixing)
+"fW" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced,/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost)
+"fX" = (/obj/machinery/power/apc{dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green,/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fY" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"fZ" = (/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"ga" = (/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/machinery/newscaster{layer = 3.3; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gb" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gc" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gd" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor,/area/maintenance/substation/outpost)
+"ge" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance/engi{name = "Science Outpost Substation"; req_one_access = list(10,47)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/maintenance/substation/outpost)
+"gf" = (/obj/machinery/atmospherics/pipe/manifold4w/visible/cyan,/obj/machinery/meter,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gg" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 8},/obj/machinery/light/small{dir = 8; pixel_x = 0},/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gh" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/meter,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gi" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/atmospherics/binary/pump/high_power/on{dir = 8},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gj" = (/obj/structure/lattice,/turf/simulated/floor/outdoors/grass/sif/virgo3b,/area/tether/outpost/solars_outside)
+"gk" = (/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gl" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/obj/machinery/camera/network/research_outpost{dir = 8},/obj/machinery/door/firedoor/glass/hidden/steel,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gm" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor/corner{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gn" = (/obj/machinery/atmospherics/portables_connector,/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"go" = (/obj/machinery/atmospherics/binary/pump/on,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gp" = (/obj/machinery/atmospherics/binary/passive_gate{icon_state = "on"; unlocked = 1},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gq" = (/obj/machinery/atmospherics/trinary/mixer/m_mixer{dir = 1; node1_concentration = 0.21; node2_concentration = 0.79},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gr" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 8},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gs" = (/obj/structure/sign/warning/hot_exhaust,/turf/simulated/wall/r_wall,/area/rnd/outpost/chamber)
+"gt" = (/obj/machinery/door/blast/regular{dir = 8; id = "burn_chamber_v"; name = "Burn Chamber Vent"},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"gu" = (/obj/effect/floor_decal/industrial/danger{dir = 1},/obj/machinery/atmospherics/pipe/simple/insulated{dir = 6},/turf/simulated/floor/reinforced/virgo3b,/area/tether/outpost/solars_outside)
+"gv" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/machinery/meter,/obj/machinery/button/ignition{id = "burn_chamber"; pixel_y = 28},/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gw" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/insulated{dir = 4},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/heating)
+"gx" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gy" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/obj/machinery/light{dir = 1},/obj/effect/floor_decal/corner/purple{dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gz" = (/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on,/obj/structure/table/standard,/obj/item/weapon/wrench,/obj/machinery/camera/network/research_outpost{dir = 8},/obj/item/device/analyzer,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gA" = (/obj/structure/table/standard,/obj/machinery/atmospherics/unary/vent_pump/on,/obj/effect/floor_decal/corner/purple{dir = 5},/obj/item/device/radio/intercom{pixel_y = 24; req_access = list()},/obj/item/weapon/wrench,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gB" = (/obj/effect/floor_decal/borderfloor/corner{dir = 4},/obj/effect/floor_decal/corner/purple/bordercorner{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7,/obj/machinery/door/firedoor/glass/hidden/steel{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gC" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/borderfloor{dir = 8},/obj/effect/floor_decal/corner/purple/border{dir = 8},/obj/effect/floor_decal/borderfloor/corner2{dir = 10},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden,/obj/item/device/radio/intercom{dir = 4; pixel_x = -24},/obj/machinery/door/firedoor/glass/hidden/steel{dir = 1},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gD" = (/obj/machinery/alarm{frequency = 1441; pixel_y = 22},/obj/effect/floor_decal/borderfloor{dir = 5},/obj/effect/floor_decal/corner/purple/border{dir = 5},/obj/machinery/firealarm{dir = 4; layer = 3.3; pixel_x = 26},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gE" = (/obj/effect/floor_decal/borderfloor{dir = 1},/obj/effect/floor_decal/corner/purple/border{dir = 1},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gF" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/obj/machinery/meter,/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gG" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gH" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 6},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gI" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 4},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gJ" = (/obj/machinery/atmospherics/omni/filter{tag_east = 3; tag_north = 4; tag_south = 2; tag_west = 1},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"gK" = (/turf/simulated/wall/r_wall,/area/rnd/outpost/chamber)
+"gL" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 4; external_pressure_bound = 0; frequency = 1445; icon_state = "map_vent_in"; id_tag = "burn_out"; initialize_directions = 4; layer = 2.4; pump_direction = 0},/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 10},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"gM" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 6},/obj/machinery/sparker{id = "burn_chamber"; pixel_x = -24},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"gN" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 9},/turf/simulated/floor/reinforced/virgo3b,/area/tether/outpost/solars_outside)
+"gO" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 4},/obj/structure/grille,/obj/structure/window/phoronreinforced{dir = 8},/obj/structure/window/phoronreinforced/full{icon_state = "phoronwindow0"},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"gP" = (/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 6},/obj/effect/floor_decal/industrial/warning/cee{tag = "icon-warningcee (NORTH)"; icon_state = "warningcee"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gQ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/heating)
+"gR" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gS" = (/obj/machinery/atmospherics/binary/pump,/obj/machinery/atmospherics/pipe/simple/hidden/universal{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/purple{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gV" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass_science{name = "Toxins Mixing"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor/tiled,/area/rnd/outpost/heating)
+"gW" = (/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/corner/purple/full{dir = 1},/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"gX" = (/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gY" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 6},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"gZ" = (/obj/effect/floor_decal/borderfloor{dir = 4},/obj/effect/floor_decal/corner/purple/border{dir = 4},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 10},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 9},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"ha" = (/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"hb" = (/obj/machinery/atmospherics/pipe/simple/visible,/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 6},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "west bump"; pixel_x = -28},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hc" = (/obj/machinery/atmospherics/pipe/manifold/visible/supply{dir = 4},/obj/machinery/meter,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hd" = (/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"he" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 10},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/empty/oxygen,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hf" = (/obj/machinery/atmospherics/tvalve/mirrored/digital{name = "Filter Bypass"},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hg" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 10},/obj/machinery/door/blast/regular{dir = 2; id = "burn_chamber_p"; name = "Burn Chamber Purge"},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hh" = (/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/powered/pump/huge/stationary/purge,/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hi" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hj" = (/obj/machinery/atmospherics/pipe/vent/high_volume,/turf/simulated/floor/reinforced/virgo3b,/area/tether/outpost/solars_outside)
+"hk" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{dir = 8},/obj/structure/window/phoronreinforced/full{icon_state = "phoronwindow0"},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hl" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 5},/obj/effect/floor_decal/industrial/warning/cee,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"hm" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 6},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/heating)
+"hn" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"ho" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden/black,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"hp" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/obj/effect/floor_decal/corner/purple,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"hq" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"hr" = (/turf/simulated/wall,/area/rnd/outpost/heating)
+"hs" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green,/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/effect/floor_decal/industrial/outline/red,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"ht" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor,/obj/effect/floor_decal/corner/purple/border,/obj/effect/floor_decal/borderfloor/corner2{dir = 9},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 9},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals7{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"hu" = (/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/computer/area_atmos/tag{dir = 4; scrub_id = "science_outpost"},/obj/effect/floor_decal/borderfloor{dir = 10},/obj/effect/floor_decal/corner/purple/border{dir = 10},/obj/effect/floor_decal/borderfloor/corner2{dir = 8},/obj/effect/floor_decal/corner/purple/bordercorner2{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5; icon_state = "intact"; tag = "icon-intact-f (NORTHEAST)"},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"hv" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/borderfloor{dir = 6},/obj/effect/floor_decal/corner/purple/border{dir = 6},/obj/effect/floor_decal/borderfloor/corner2,/obj/effect/floor_decal/corner/purple/bordercorner2,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/rnd/outpost)
+"hw" = (/obj/structure/cable/green{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 8},/obj/effect/floor_decal/steeldecal/steel_decals4{dir = 5},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply,/turf/simulated/floor/tiled,/area/rnd/outpost)
+"hx" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 9},/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{dir = 1},/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hy" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/visible/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/scrubbers{dir = 4},/obj/machinery/door/airlock/maintenance/rnd{name = "Science Outpost Atmospherics"; req_one_access = list(10,47)},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hz" = (/obj/machinery/atmospherics/pipe/simple/visible/supply,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hA" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/visible/scrubbers{dir = 4},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hB" = (/obj/machinery/portable_atmospherics/canister/empty/phoron,/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hC" = (/obj/machinery/atmospherics/trinary/filter/m_filter{filter_type = 0; filtered_out = list("phoron")},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hD" = (/obj/machinery/atmospherics/pipe/manifold/visible/black{dir = 4},/obj/machinery/door/blast/regular{dir = 2; id = "burn_chamber_p"; name = "Burn Chamber Purge"},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hE" = (/obj/machinery/air_sensor{frequency = 1445; id_tag = "burn_sensor"; output = 63},/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/machinery/camera/network/research_outpost{dir = 8},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hF" = (/obj/machinery/power/apc{cell_type = /obj/item/weapon/cell/super; dir = 8; name = "west bump"; pixel_x = -28},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/atmospherics/binary/pump/on{dir = 1; target_pressure = 200},/turf/simulated/floor/reinforced/virgo3b,/area/rnd/outpost/chamber)
+"hG" = (/obj/machinery/computer/general_air_control/supermatter_core{frequency = 1445; input_tag = "burn_in"; name = "Burn Chamber Air Control"; output_tag = "burn_out"; pressure_setting = 0; sensors = list("burn_sensor" = "Burn Chamber Sensor")},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"hH" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/heating)
+"hI" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"hJ" = (/obj/machinery/atmospherics/binary/pump{dir = 1},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"hK" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 1},/obj/structure/window/basic{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 1},/turf/simulated/floor/tiled/steel_ridged,/area/rnd/outpost/heating)
+"hL" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 1},/obj/structure/window/basic{dir = 1},/obj/structure/window/basic{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 1},/obj/effect/floor_decal/corner/red/border{dir = 8},/turf/simulated/floor/tiled/steel_ridged,/area/rnd/outpost/heating)
+"hM" = (/turf/simulated/wall,/area/rnd/outpost/storage)
+"hN" = (/obj/structure/sign/warning/compressed_gas,/turf/simulated/wall,/area/rnd/outpost/storage)
+"hO" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/science{name = "Toxins Storage"},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/tiled,/area/rnd/outpost/storage)
+"hP" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/obj/machinery/camera/network/research_outpost{dir = 4},/obj/machinery/light_switch{dir = 4; pixel_x = -28},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hQ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 1},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hR" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 1},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hS" = (/obj/machinery/portable_atmospherics/canister/empty/carbon_dioxide,/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hT" = (/obj/machinery/atmospherics/trinary/filter/m_filter{filter_type = 3; filtered_out = list("carbon_dioxide")},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"hU" = (/obj/machinery/atmospherics/pipe/manifold/visible/black,/obj/machinery/door/blast/regular{dir = 2; id = "burn_chamber_p"; name = "Burn Chamber Purge"},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hV" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging,/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hW" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 9},/turf/simulated/floor/reinforced/virgo3b,/area/tether/outpost/solars_outside)
+"hX" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{dir = 8},/obj/structure/window/phoronreinforced/full{icon_state = "phoronwindow0"},/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"hY" = (/obj/machinery/button/remote/blast_door{id = "burn_chamber_v"; name = "Burn Chamber Vent"; pixel_x = -26; pixel_y = 6},/obj/machinery/button/remote/blast_door{id = "burn_chamber_p"; name = "Burn Chamber Purge"; pixel_x = -26; pixel_y = -8},/obj/item/weapon/stool/padded,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"hZ" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/yellow,/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/heating)
+"ia" = (/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"ib" = (/obj/machinery/atmospherics/pipe/simple/visible/red,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"ic" = (/obj/machinery/atmospherics/unary/heat_exchanger,/obj/structure/window/basic,/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled/steel_ridged,/area/rnd/outpost/heating)
+"id" = (/obj/machinery/atmospherics/unary/heat_exchanger,/obj/structure/window/basic,/obj/structure/window/basic{dir = 8},/obj/effect/floor_decal/corner/red/border{dir = 8},/obj/effect/floor_decal/corner/red/border,/turf/simulated/floor/tiled/steel_ridged,/area/rnd/outpost/heating)
+"ie" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/conveyor{dir = 4; id = "outpost_canisters"; operating = 1},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"if" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 28},/obj/structure/cable/green{icon_state = "0-4"},/obj/effect/floor_decal/industrial/warning/dust{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"ig" = (/obj/machinery/portable_atmospherics/canister/sleeping_agent,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window/eastleft,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"ih" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{scrub_id = "science_outpost"},/obj/machinery/camera/network/research_outpost{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"ii" = (/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"ij" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 8},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"ik" = (/turf/simulated/floor,/area/rnd/outpost/atmos)
+"il" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (SOUTHWEST)"; icon_state = "intact"; dir = 10},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"im" = (/obj/machinery/portable_atmospherics/canister/empty/sleeping_agent,/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"in" = (/obj/machinery/atmospherics/trinary/filter/m_filter{filter_type = 4; filtered_out = list("sleeping_agent")},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"io" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 1},/obj/machinery/atmospherics/unary/outlet_injector{dir = 4; frequency = 1445; id = "burn_in"; volume_rate = 700},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"ip" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{dir = 1},/obj/machinery/sparker{id = "burn_chamber"; pixel_x = -24},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"iq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/reinforced/virgo3b,/area/tether/outpost/solars_outside)
+"ir" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{dir = 8},/obj/structure/window/phoronreinforced/full{icon_state = "phoronwindow0"},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"is" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/red,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"it" = (/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 9},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/heating)
+"iu" = (/obj/machinery/atmospherics/pipe/manifold/visible/red{tag = "icon-map (NORTH)"; icon_state = "map"; dir = 1},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"iv" = (/obj/machinery/atmospherics/pipe/simple/visible/red{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"iw" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 9},/obj/effect/floor_decal/corner/purple/full{dir = 4},/obj/structure/extinguisher_cabinet{dir = 2; icon_state = "extinguisher_closed"; pixel_x = 30; tag = "icon-extinguisher_closed (WEST)"},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"ix" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/machinery/meter,/obj/effect/floor_decal/corner/purple,/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"iy" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/conveyor{dir = 4; id = "outpost_canisters"; operating = 1},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iz" = (/obj/effect/floor_decal/industrial/warning/dust{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iA" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window/eastleft,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iB" = (/obj/machinery/alarm{breach_detection = 0; dir = 8; pixel_x = 25; pixel_y = 0; report_danger_level = 0},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iC" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iD" = (/obj/machinery/atmospherics/unary/freezer{dir = 1; icon_state = "freezer_1"; use_power = 1},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"iE" = (/obj/machinery/light/small,/obj/machinery/space_heater,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"iF" = (/obj/machinery/atmospherics/unary/heater{dir = 1; icon_state = "heater_1"; use_power = 1},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"iG" = (/obj/machinery/atmospherics/pipe/manifold/visible/black,/obj/machinery/meter,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"iH" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 5},/turf/simulated/floor,/area/rnd/outpost/atmos)
+"iI" = (/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 4},/obj/structure/grille,/obj/structure/window/reinforced/full,/obj/structure/window/reinforced{dir = 4; health = 1e+006},/obj/machinery/door/firedoor/glass,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"iJ" = (/obj/machinery/atmospherics/binary/pump/on{dir = 4; target_pressure = 200},/obj/effect/floor_decal/rust,/turf/simulated/floor,/area/rnd/outpost/atmos)
+"iK" = (/obj/machinery/atmospherics/pipe/vent{dir = 8},/turf/simulated/floor/outdoors/grass/sif/virgo3b,/area/tether/outpost/solars_outside)
+"iL" = (/obj/machinery/door/blast/regular{dir = 8; id = "burn_chamber_v"; name = "Burn Chamber Vent"},/obj/machinery/atmospherics/pipe/manifold/visible/red{dir = 4; initialize_directions = 11},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"iM" = (/obj/machinery/door/blast/regular{dir = 8; id = "burn_chamber_v"; name = "Burn Chamber Vent"},/obj/machinery/atmospherics/pipe/simple/insulated{dir = 5},/turf/simulated/floor/reinforced/airless,/area/rnd/outpost/chamber)
+"iN" = (/obj/effect/floor_decal/industrial/danger,/obj/machinery/atmospherics/pipe/simple/insulated{dir = 6},/turf/simulated/floor/reinforced/virgo3b,/area/tether/outpost/solars_outside)
+"iO" = (/obj/machinery/atmospherics/pipe/manifold/visible/red,/obj/machinery/meter,/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"iP" = (/obj/machinery/atmospherics/pipe/simple/visible/red{dir = 9},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -26},/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"iQ" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/light,/obj/effect/floor_decal/corner/purple{dir = 10},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"iR" = (/obj/machinery/portable_atmospherics/powered/scrubber/huge/stationary{scrub_id = "science_outpost"},/obj/effect/floor_decal/corner/purple/full{dir = 4},/turf/simulated/floor/tiled/white,/area/rnd/outpost/heating)
+"iS" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/conveyor{dir = 4; id = "outpost_canisters"; operating = 1},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iT" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window/eastleft,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iU" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iV" = (/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"iW" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 5},/turf/simulated/floor/outdoors/grass/sif/virgo3b,/area/tether/outpost/solars_outside)
+"iX" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 9},/turf/simulated/floor/outdoors/grass/sif/virgo3b,/area/tether/outpost/solars_outside)
+"iY" = (/obj/machinery/atmospherics/pipe/simple/insulated{dir = 4},/turf/simulated/floor/outdoors/grass/sif/virgo3b,/area/tether/outpost/solars_outside)
+"iZ" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/conveyor{dir = 4; id = "outpost_canisters"; operating = 1},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"ja" = (/obj/machinery/portable_atmospherics/canister/empty,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window/eastleft,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jc" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jd" = (/obj/machinery/portable_atmospherics/powered/scrubber,/obj/effect/floor_decal/industrial/warning/dust{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"je" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/conveyor{dir = 4; id = "outpost_canisters"; operating = 1},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jf" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window/eastleft,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jh" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"ji" = (/obj/machinery/portable_atmospherics/powered/pump,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jj" = (/obj/machinery/portable_atmospherics/powered/pump,/obj/effect/floor_decal/industrial/warning/dust{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jk" = (/obj/effect/floor_decal/rust,/obj/machinery/portable_atmospherics/powered/pump,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jl" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/conveyor{dir = 4; id = "outpost_canisters"; operating = 1},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jm" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/conveyor{dir = 4; id = "outpost_canisters"; operating = 1},/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jn" = (/obj/machinery/light_switch{dir = 1; pixel_x = 4; pixel_y = -24},/obj/effect/floor_decal/rust,/obj/effect/floor_decal/industrial/warning/dust{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jo" = (/obj/machinery/portable_atmospherics/canister/phoron,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1; health = 1e+006},/obj/machinery/door/window/eastleft,/obj/effect/floor_decal/rust,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jp" = (/obj/machinery/conveyor_switch/oneway{icon_state = "switch-fwd"; id = "outpost_canisters"; position = 1},/obj/machinery/light,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jq" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
+"jr" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/floor_decal/industrial/warning/dust{dir = 8},/turf/simulated/floor/tiled/steel_dirty,/area/rnd/outpost/storage)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -160,58 +552,58 @@ aaabababababababababababababadadadadadbGbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbF
aaabababababababababababababadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadbjbtadadadadababababababababababaa
aaabababababababababababababadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadbjbtadadadadababababababababababaa
aaabababababababababababababadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadbjbtadadadadababababababababababaa
-aaabababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadbjbHbIbIbIbIbIbIbIbIbIbIbIbIbJbKaa
-aaababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadbjbjbjbjbjbjbjbjbjbjababababababaa
-aaababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadabababbjbjabbjabbjabbL
-aaababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadababababbjbjabbjbjbjbL
-aaababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadababababababababababbL
-aaababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadababababababababababbL
-aaababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadababababababababbjbL
-aaababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadabababababababbjbL
-aaababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadabababababababababbjbL
-aaababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadababababababababababbL
-aaababababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadabababababababababbjbL
-aaababababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadababababababababababbL
-aaabababababababababababababadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadabababababababababbjbL
-aaabababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadababababababababababaa
-aaabababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaabababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaabababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaabababababababababababababababababadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaabababababababababababababababababadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaabababababababababababababababababadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaabababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaabababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaabababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadababababababababababaa
-aaababababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadabadadabababababababababaa
-aaababababababababababababababadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadabadadadadabababababababababaa
-aaabababababababababbMbMbMbMbMadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadabadababababababababababababaa
-aaabababababababababbMbMbMbMbNadadadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadababababababababababababababaa
-aaabababababababababbMbMbMbMbNadadadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadababababababababababababababaa
-aaabababababababababbMbMbMbMbNadadadadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadababababababababababababababaa
-aaabababababababababbMbMbMbMbMababababadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadbFbFbFbFbFbFadadadadadadadadadadadadadababababababababababababababaa
-aaabababababababababbMbMbMbMbMababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadababababababababababababababababaa
-aaabababababababababbMbMbMbMbMababababababababadadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadababababababababababababababababaa
-aaabababababababababababababababababababababababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadababababababababababababababababaa
-aaabababababababababababababababababababababababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababadadadadadadabababababadadadadadadadadadadadadadadababababadadabababababadadadadadadadadadadadadadadadadadadadadadadadababababababababadadabababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababadadadadababababababababababababababadadababababababababababababababababababababadadadadadadababababababababadadadadadabababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
-aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
+aaabababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadbjbHbIbIbQbIbIbIbIbIbIbIbIbIbJbKaa
+aaababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadbjbjbjbjbRbjbjbjabbjababababababaa
+aaababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadbjbSadabababbjbjabbjabbjabbL
+aaababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadbjbSadababababbjbjabbjbjbjbL
+aaababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadbjbSadababababababababababbL
+aaababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadbjbSadababababababababababbL
+aaababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadbjbSadadababababababababbjbL
+aaababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadbjbSadadadabababababababbjbL
+aaababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadbjbSadabababababababababbjbL
+aaababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadbjbSadababababababababababbL
+aaababababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadbjbSadabababababababababbjbL
+aaababababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadbjbSadababababababababababbL
+aaabababababababababababababadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadbjbSadabababababababababbjbL
+aaabababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadbjbTadababababababababababaa
+aaabababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadbjbUadababababababababababaa
+aaabababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadbjbUadababababababababababaa
+aaabababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadbjbUadababababababababababaa
+aaabababababababababababababababababadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadbjbUadababababababababababaa
+aaabababababababababababababababababadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadbjbUadababababababababababaa
+aaabababababababababababababababababadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadbjbUadababababababababababaa
+aaabababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadbjbUadababababababababababaa
+aaabababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadbjbUadababababababababababaa
+aaabababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadbjbUadababababababababababaa
+aaababababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadbjbUadadabababababababababaa
+aaababababababababababababababadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadadbjbUadadabababababababababaa
+aaabababababababababbMbMbMbMbMadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadadadadadadadbjbUabababababababababababaa
+aaabababababababababbMbMbMbMbNadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadadadadadadadbjbjbVbUabababababababababababaa
+aaabababababababababbMbMbMbMbNadadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadadadadadbjbjbVbVbVbUabababababababababababaa
+aaabababababababababbMbMbMbMbNadadadadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadbWbWbWbWbWadadadadadadadadadadadbXbYbYbZbjbUabababababababababababaa
+aaabababababababababbMbMbMbMbMababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadcacabWbWcbcbbWcdcccebWadadcfcfcfcfcgcgcgcgcichckcjchclcmabababababababababababaa
+aaabababababababababbMbMbMbMbMababababababababadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadcabWcocncqcpcscrcuctcvbWcfcfcfcwcycxcgczcBcAchcCcEcDcFchaWadababababababababababaa
+aaabababababababababbMbMbMbMbMababababababababadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadbWcGcIcHcKcJcMcLcOcNcPbWcRcQcTcScVcUcgcWcYcXchcZdbdadcchddbJbJbJaIabababababababaa
+aaababababababababababababababababababababababababadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadaddedfdfdfdfdfdfdfdfdfdfdgaddidhdkdjdkdldndmdpdodqbWdsdrdudtdwdvcgdxdzdychdAdCdBdDchdEdEdEdEaWabababababababaa
+aaababababababababababababababababababababababababadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadaddFdfdfdfdfdfdfdfdfdfdgdFdGdIdHdKdJdMdLdOdNdJdPdQbWdSdRdUdTdWdVcgcgdYdXchdZebeachchedecefeeegabababababababaa
+aaabababababababababababababababababababababababadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadaddedfdfdfdfdfdfdfdfdfehdedGejeidkekemeleoendKepeqbWcfcfesercfcfeueteweveyexeAezeBdEeDeCeEdEababababababababaa
+aaabababababababababababababababababababababababadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadaddFdfdfdfdfdfdfdfdfdfeFeGabdieHeJeIeLeKdleMeOeNePbWeReQeTeSeVeUeXeWeZeYfbfaeYfcfddEfffefgdEababababababababaa
+aaababababababababababababababababababababababadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadabababbWfhfjfifkdkfmflfofnfqfpfsfrftftfuftfwfvfxftfufrftftfydEfAfzfBdEfCfCfCfCababababaa
+aaababababababababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadabababbWbWbWbWfEfDfGfFfIfHfJbWfLfKfKfKfKfMfOfNftftftftftftfQfPdEfRfSdEfTfTfUfCfCabababaa
+aaabababababababababababababababababababababababadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadababababababbWbWfVfVbWbWbWbWbWeufWfWfWfWeueufXfKfKfKfYgafZgcgbgegddEdEgggfgighfCabababaa
+aaabababababababababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadabababababababababababababababgjababababababeueueueueueueugkgmgldEdEdEgngpgogrgqfCabababaa
+aaabababababababababababababababababababababababadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadabababababababababababababababababgjabgsgtgtgsgugwgvgygxgAgzeueugCgBgEgDfCgFgHgGgJgIfCabababaa
+aaababababababababababababababababababababababadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadababababababababababababababababababgKgKgKgMgLgOgNgQgPgSgRgUgTgWgVgYgXhagZfChbhdhchfhefCabababaa
+aaababababababababababababababababababababababadabadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadadadabababababababababababababababababgKhhhghihihkhjhmhlhohnhqhphshrhuhthwhvhyhxhAhzhChBfCabababaa
+aaabababababababababababababababababababababababababadadadadadadadadadadadbFbFbFbFbFbFbFbFbFbFbFbFadadadadadadadadadadadadadadadadadadadadadadadadabababababababababababababababababgKhhhDhihEgKhFhHhGhJhIhLhKhMhMhMhMhOhNfChPhRhQhThSfCabababaa
+aaababababababababababababababababababababababababadadadadadadadadadadadadadadadadadbFbFbFadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababababababababababababababababgKhhhUhVhVhXhWhZhYibiaidichMieigifiiihfCijilikinimfCfCababaa
+aaababababababababababababababababababababababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadababadababababababababababababababababababgKgKgKipioiriqitisiviuixiwhMiyiAiziCiBfCiDiFiEiHiGiJiIiKabaa
+aaabababababababababababababababababababababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadababababababababababababababababababababababababgsiMiLgsiNgwiOiQiPiRhrhMiSiTiziViUfCfCfCfCfCfCfCfCababaa
+aaabababababababababababababababababababababababadadababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadababadadababababababababababababababababababababababababababababiWiYiXhrhrhrhrhrhMiZiZjaiziVjbjdjcjchMababababababaa
+aaabababababababababababababababababababababababababababababababababababadadadadadadadadadadadadadadadadadadadadadadadadadabababababababababababababababababababababababababababababababababababababababhMjejejejejfizjhjgjjjijkhMababababababaa
+aaabababababababababababababababababababababababababababababababababababababadadadadadadadadadadadadadadadadadadadabadabababababababababababababababababababababababababababababababababababababababababhMjljljljmjojnjpiVjrjqhMcaababababababaa
+aaababababababababababababababababababababababababababababababababababababababadadadadadadadadadadadadadadadadabababababababababababababababababababababababababababababababababababababababababababababhMhMhMhMhMhMhMhMhMhMhMcaabababababababaa
+aaababababababababababababababababababababababababababababababababababababababababababadadadadabababadababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
diff --git a/maps/tether/tether_telecomms.dm b/maps/tether/tether_telecomms.dm
index 0fa3893c4b..3a8e567a5e 100644
--- a/maps/tether/tether_telecomms.dm
+++ b/maps/tether/tether_telecomms.dm
@@ -34,13 +34,17 @@
listening_level = Z_LEVEL_SPACE_HIGH
autolinkers = list("tsh_relay")
+/obj/machinery/telecomms/relay/preset/tether/sci_outpost
+ id = "Science Outpost Relay"
+ listening_level = Z_LEVEL_SOLARS
+ autolinkers = list("sci_o_relay")
// #### Hub ####
/obj/machinery/telecomms/hub/preset/tether
id = "Hub"
network = "tcommsat"
autolinkers = list("hub",
"tbl_relay", "tbm_relay", "tbh_relay", "tsl_relay", "tsm_relay", "tsh_relay",
- "c_relay", "m_relay", "r_relay",
+ "c_relay", "m_relay", "r_relay", "sci_o_relay",
"science", "medical", "supply", "service", "common", "command", "engineering", "security", "unused",
"hb_relay", "receiverA", "broadcasterA"
)
diff --git a/vorestation.dme b/vorestation.dme
index 486d0aa726..a009e0d52c 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -583,6 +583,7 @@
#include "code\game\machinery\Beacon.dm"
#include "code\game\machinery\biogenerator.dm"
#include "code\game\machinery\bioprinter.dm"
+#include "code\game\machinery\bomb_tester_vr.dm"
#include "code\game\machinery\buttons.dm"
#include "code\game\machinery\CableLayer.dm"
#include "code\game\machinery\cell_charger.dm"
@@ -645,6 +646,7 @@
#include "code\game\machinery\atmoalter\meter.dm"
#include "code\game\machinery\atmoalter\portable_atmospherics.dm"
#include "code\game\machinery\atmoalter\pump.dm"
+#include "code\game\machinery\atmoalter\pump_vr.dm"
#include "code\game\machinery\atmoalter\scrubber.dm"
#include "code\game\machinery\camera\camera.dm"
#include "code\game\machinery\camera\camera_assembly.dm"