Merge pull request #6995 from Citadel-Station-13/upstream-merge-38240

[MIRROR] Replaces airlock_controller/incinerator related varedits with defines/subtypes
This commit is contained in:
LetterJay
2018-06-05 12:11:34 -05:00
committed by GitHub
12 changed files with 543 additions and 585 deletions
+26 -97
View File
@@ -36022,10 +36022,7 @@
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"bMu" = (
/obj/machinery/door/poddoor{
id = "mixvent";
name = "Mixer Room Vent"
},
/obj/machinery/door/poddoor/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"bMv" = (
@@ -36035,9 +36032,8 @@
/turf/closed/wall/r_wall,
/area/science/mixing)
"bMw" = (
/obj/machinery/sparker{
/obj/machinery/sparker/toxmix{
dir = 2;
id = "mixingsparker";
pixel_x = 25
},
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output{
@@ -36046,9 +36042,7 @@
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"bMx" = (
/obj/machinery/airlock_sensor{
id_tag = "tox_airlock_sensor";
master_tag = "tox_airlock_control";
/obj/machinery/airlock_sensor/incinerator_toxmix{
pixel_y = 24
},
/obj/machinery/atmospherics/components/binary/pump/on{
@@ -36073,14 +36067,8 @@
dir = 4
},
/obj/machinery/meter,
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "tox_airlock_pump";
exterior_door_tag = "tox_airlock_exterior";
id_tag = "tox_airlock_control";
interior_door_tag = "tox_airlock_interior";
pixel_x = -24;
sanitize_external = 1;
sensor_tag = "tox_airlock_sensor"
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{
pixel_x = -24
},
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -36410,33 +36398,17 @@
/area/science/mixing)
"bNu" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_exterior";
name = "Mixing Room Exterior Airlock";
req_access_txt = "8"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,
/turf/open/floor/engine,
/area/science/mixing)
"bNv" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_interior";
name = "Mixing Room Interior Airlock";
req_access_txt = "8"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior,
/turf/open/floor/engine,
/area/science/mixing)
"bNw" = (
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 2;
frequency = 1449;
id = "tox_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{
dir = 2
},
/turf/open/floor/engine,
/area/science/mixing)
@@ -36866,9 +36838,8 @@
/turf/open/floor/plasteel,
/area/tcommsat/computer)
"bOE" = (
/obj/machinery/sparker{
/obj/machinery/sparker/toxmix{
dir = 2;
id = "mixingsparker";
pixel_x = 25
},
/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input{
@@ -36903,15 +36874,11 @@
dir = 4
},
/obj/machinery/meter,
/obj/machinery/button/door{
id = "mixvent";
name = "Mixing Room Vent Control";
/obj/machinery/button/door/incinerator_vent_toxmix{
pixel_x = -25;
pixel_y = 5;
req_access_txt = "7"
pixel_y = 5
},
/obj/machinery/button/ignition{
id = "mixingsparker";
/obj/machinery/button/ignition/incinerator/toxmix{
pixel_x = -25;
pixel_y = -5
},
@@ -45813,19 +45780,13 @@
/turf/open/floor/plasteel/floorgrime,
/area/maintenance/disposal/incinerator)
"cli" = (
/obj/machinery/button/door{
id = "auxincineratorvent";
name = "Auxiliary Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_aux{
pixel_x = 6;
pixel_y = -24;
req_access_txt = "32"
pixel_y = -24
},
/obj/machinery/button/door{
id = "turbinevent";
name = "Turbine Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_main{
pixel_x = -6;
pixel_y = -24;
req_access_txt = "32"
pixel_y = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{
dir = 4
@@ -46116,14 +46077,7 @@
/area/maintenance/disposal/incinerator)
"cmf" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_interior";
name = "Turbine Interior Airlock";
req_access_txt = "32"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
@@ -46131,17 +46085,9 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 9
},
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "incinerator_airlock_pump";
exterior_door_tag = "incinerator_airlock_exterior";
id_tag = "incinerator_airlock_control";
interior_door_tag = "incinerator_airlock_interior";
name = "Incinerator Access Console";
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{
pixel_x = 38;
pixel_y = 6;
req_access_txt = "12";
sanitize_external = 1;
sensor_tag = "incinerator_airlock_sensor"
pixel_y = 6
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -46378,9 +46324,7 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/airlock_sensor{
id_tag = "incinerator_airlock_sensor";
master_tag = "incinerator_airlock_control";
/obj/machinery/airlock_sensor/incinerator_atmos{
pixel_x = 8;
pixel_y = 24
},
@@ -46405,10 +46349,8 @@
/obj/structure/cable/yellow{
icon_state = "1-2"
},
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 8;
frequency = 1449;
id = "incinerator_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{
dir = 8
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -46602,14 +46544,7 @@
/area/construction)
"cnC" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_exterior";
name = "Turbine Exterior Airlock";
req_access_txt = "32"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
/obj/structure/cable/yellow{
icon_state = "1-2"
},
@@ -46873,10 +46808,7 @@
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cos" = (
/obj/machinery/door/poddoor{
id = "auxincineratorvent";
name = "Auxiliary Incinerator Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cot" = (
@@ -47558,10 +47490,7 @@
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
"cqt" = (
/obj/machinery/door/poddoor{
id = "turbinevent";
name = "Turbine Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cqu" = (
+27 -101
View File
@@ -15401,9 +15401,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/airlock_sensor{
id_tag = "incinerator_airlock_sensor";
master_tag = "incinerator_airlock_control";
/obj/machinery/airlock_sensor/incinerator_atmos{
pixel_y = 24
},
/turf/open/floor/engine,
@@ -15960,10 +15958,7 @@
},
/area/security/execution/education)
"aNO" = (
/obj/machinery/door/poddoor{
id = "turbinevent";
name = "Turbine Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"aNP" = (
@@ -15997,9 +15992,7 @@
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"aNR" = (
/obj/machinery/igniter{
id = "Incinerator"
},
/obj/machinery/igniter/incinerator_atmos,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -16011,14 +16004,7 @@
/area/maintenance/disposal/incinerator)
"aNS" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_exterior";
name = "Incinerator Exterior Airlock";
req_access_txt = "12"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -16033,23 +16019,14 @@
icon_state = "4-8"
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 2;
frequency = 1449;
id = "incinerator_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{
dir = 2
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"aNU" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_interior";
name = "Incinerator Interior Airlock";
req_access_txt = "12"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
/obj/structure/cable{
icon_state = "4-8"
},
@@ -16057,16 +16034,8 @@
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
},
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "incinerator_airlock_pump";
exterior_door_tag = "incinerator_airlock_exterior";
id_tag = "incinerator_airlock_control";
interior_door_tag = "incinerator_airlock_interior";
name = "Incinerator Access Console";
pixel_y = 27;
req_access_txt = "12";
sanitize_external = 1;
sensor_tag = "incinerator_airlock_sensor"
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{
pixel_y = 27
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -16735,24 +16704,17 @@
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"aPA" = (
/obj/machinery/button/ignition{
id = "Incinerator";
/obj/machinery/button/ignition/incinerator/atmos{
pixel_x = 8;
pixel_y = -36
},
/obj/machinery/button/door{
id = "turbinevent";
name = "Turbine Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_main{
pixel_x = -8;
pixel_y = -36;
req_access_txt = "12"
pixel_y = -36
},
/obj/machinery/button/door{
id = "auxincineratorvent";
name = "Auxiliary Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_aux{
pixel_x = -8;
pixel_y = -24;
req_access_txt = "12"
pixel_y = -24
},
/obj/machinery/computer/turbine_computer{
dir = 1;
@@ -17622,10 +17584,7 @@
/turf/open/floor/plating/airless,
/area/maintenance/disposal/incinerator)
"aRo" = (
/obj/machinery/door/poddoor{
id = "auxincineratorvent";
name = "Incineration Chamber Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"aRp" = (
@@ -99677,14 +99636,7 @@
},
/area/science/mixing)
"fpQ" = (
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_interior";
name = "Mixing Room Interior Airlock";
req_access_txt = "8"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior,
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/engine,
/area/science/mixing)
@@ -99712,9 +99664,7 @@
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 1
},
/obj/machinery/airlock_sensor{
id_tag = "tox_airlock_sensor";
master_tag = "tox_airlock_control";
/obj/machinery/airlock_sensor/incinerator_toxmix{
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -99949,17 +99899,13 @@
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/machinery/button/ignition{
id = "herrington_memorial_toxigniter";
/obj/machinery/button/ignition/incinerator/toxmix{
pixel_x = -6;
pixel_y = 30
},
/obj/machinery/button/door{
id = "mixvent";
/obj/machinery/button/door/incinerator_vent_toxmix{
pixel_x = 8;
pixel_y = 30;
req_one_access = null;
req_one_access_txt = "8"
pixel_y = 30
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/camera{
@@ -100064,10 +100010,8 @@
},
/area/science/mixing)
"lyU" = (
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 8;
frequency = 1449;
id = "tox_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{
dir = 8
},
/turf/open/floor/engine,
/area/science/mixing)
@@ -100142,14 +100086,8 @@
/area/science/circuit)
"mkm" = (
/obj/machinery/atmospherics/components/binary/valve,
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "tox_airlock_pump";
exterior_door_tag = "tox_airlock_exterior";
id_tag = "tox_airlock_control";
interior_door_tag = "tox_airlock_interior";
pixel_y = 26;
sanitize_external = 1;
sensor_tag = "tox_airlock_sensor"
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{
pixel_y = 26
},
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/vault{
@@ -100205,15 +100143,7 @@
},
/area/science/mixing)
"oIE" = (
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_exterior";
name = "Mixing Room Exterior Airlock";
req_one_access = "8";
req_one_access_txt = "0"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,
/obj/effect/mapping_helpers/airlock/locked,
/turf/open/floor/engine,
/area/science/mixing)
@@ -100253,9 +100183,7 @@
},
/area/science/research)
"oYI" = (
/obj/machinery/igniter{
id = "herrington_memorial_toxigniter"
},
/obj/machinery/igniter/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"oZC" = (
@@ -100358,9 +100286,7 @@
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"svv" = (
/obj/machinery/door/poddoor{
id = "mixvent"
},
/obj/machinery/door/poddoor/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"tmi" = (
+28 -102
View File
@@ -52974,29 +52974,14 @@
/area/maintenance/disposal/incinerator)
"cja" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_interior";
name = "Incinerator Interior Airlock";
req_access_txt = "12"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
/obj/structure/cable{
icon_state = "1-2"
},
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "incinerator_airlock_pump";
exterior_door_tag = "incinerator_airlock_exterior";
id_tag = "incinerator_airlock_control";
interior_door_tag = "incinerator_airlock_interior";
name = "Incinerator Access Console";
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{
pixel_x = 40;
pixel_y = 8;
req_access_txt = "12";
sanitize_external = 1;
sensor_tag = "incinerator_airlock_sensor"
pixel_y = 8
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -53704,9 +53689,7 @@
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 1
},
/obj/machinery/airlock_sensor{
id_tag = "incinerator_airlock_sensor";
master_tag = "incinerator_airlock_control";
/obj/machinery/airlock_sensor/incinerator_atmos{
pixel_x = -8;
pixel_y = 24
},
@@ -53719,10 +53702,8 @@
/obj/structure/cable{
icon_state = "1-2"
},
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 8;
frequency = 1449;
id = "incinerator_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{
dir = 8
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -54366,14 +54347,7 @@
/area/space/nearstation)
"cmd" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_exterior";
name = "Incinerator Exterior Airlock";
req_access_txt = "12"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -54833,9 +54807,7 @@
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cne" = (
/obj/machinery/igniter{
id = "Incinerator"
},
/obj/machinery/igniter/incinerator_atmos,
/obj/structure/cable{
icon_state = "1-2"
},
@@ -54855,10 +54827,7 @@
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cng" = (
/obj/machinery/door/poddoor{
id = "auxincineratorvent";
name = "Incineration Chamber Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"cnh" = (
@@ -56943,10 +56912,7 @@
/turf/closed/wall/r_wall,
/area/maintenance/disposal/incinerator)
"crf" = (
/obj/machinery/door/poddoor{
id = "turbinevent";
name = "Turbine Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"crg" = (
@@ -63457,10 +63423,7 @@
/turf/open/space,
/area/science/mixing)
"cEr" = (
/obj/machinery/door/poddoor{
id = "mixvent";
name = "Mixer Room Vent"
},
/obj/machinery/door/poddoor/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"cEs" = (
@@ -63470,9 +63433,8 @@
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"cEt" = (
/obj/machinery/sparker{
/obj/machinery/sparker/toxmix{
dir = 2;
id = "mixingsparker";
pixel_x = 25
},
/obj/machinery/atmospherics/components/unary/vent_pump/siphon/atmos/toxins_mixing_output{
@@ -63487,9 +63449,7 @@
/turf/closed/wall/r_wall,
/area/science/mixing)
"cEv" = (
/obj/machinery/airlock_sensor{
id_tag = "tox_airlock_sensor";
master_tag = "tox_airlock_control";
/obj/machinery/airlock_sensor/incinerator_toxmix{
pixel_y = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -63503,14 +63463,8 @@
dir = 4
},
/obj/machinery/meter,
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "tox_airlock_pump";
exterior_door_tag = "tox_airlock_exterior";
id_tag = "tox_airlock_control";
interior_door_tag = "tox_airlock_interior";
pixel_x = -24;
sanitize_external = 1;
sensor_tag = "tox_airlock_sensor"
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{
pixel_x = -24
},
/obj/effect/turf_decal/stripes/corner{
dir = 1
@@ -63902,35 +63856,19 @@
/area/science/mixing)
"cFo" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_exterior";
name = "Mixing Room Exterior Airlock";
req_access_txt = "8"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,
/turf/open/floor/engine,
/area/science/mixing)
"cFp" = (
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 2;
frequency = 1449;
id = "tox_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{
dir = 2
},
/obj/effect/landmark/blobstart,
/turf/open/floor/engine,
/area/science/mixing)
"cFq" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/research/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_interior";
name = "Mixing Room Interior Airlock";
req_access_txt = "8"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior,
/turf/open/floor/engine,
/area/science/mixing)
"cFr" = (
@@ -64354,9 +64292,8 @@
},
/area/science/research)
"cGj" = (
/obj/machinery/sparker{
/obj/machinery/sparker/toxmix{
dir = 2;
id = "mixingsparker";
pixel_x = 25
},
/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input{
@@ -64379,15 +64316,11 @@
dir = 4
},
/obj/machinery/meter,
/obj/machinery/button/door{
id = "mixvent";
name = "Mixing Room Vent Control";
/obj/machinery/button/door/incinerator_vent_toxmix{
pixel_x = -25;
pixel_y = 5;
req_access_txt = "7"
pixel_y = 5
},
/obj/machinery/button/ignition{
id = "mixingsparker";
/obj/machinery/button/ignition/incinerator/toxmix{
pixel_x = -25;
pixel_y = -5
},
@@ -67135,8 +67068,7 @@
/turf/open/floor/plating,
/area/maintenance/aft)
"cLC" = (
/obj/machinery/button/ignition{
id = "Incinerator";
/obj/machinery/button/ignition/incinerator/atmos{
pixel_x = 8;
pixel_y = -36
},
@@ -67147,20 +67079,14 @@
network = list("turbine");
pixel_x = 29
},
/obj/machinery/button/door{
id = "turbinevent";
name = "Turbine Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_main{
pixel_x = -8;
pixel_y = -36;
req_access_txt = "12"
pixel_y = -36
},
/obj/machinery/atmospherics/pipe/simple/general/visible,
/obj/machinery/button/door{
id = "auxincineratorvent";
name = "Auxiliary Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_aux{
pixel_x = -8;
pixel_y = -24;
req_access_txt = "12"
pixel_y = -24
},
/obj/machinery/computer/turbine_computer{
dir = 1;
+111 -126
View File
@@ -31513,8 +31513,8 @@
/obj/structure/cable{
icon_state = "4-8"
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{
dir = 1
},
/turf/open/floor/plasteel/white,
/area/science/mixing)
@@ -32095,9 +32095,6 @@
dir = 4
},
/area/science/explab)
"bFg" = (
/turf/open/floor/plasteel/white,
/area/science/mixing)
"bFh" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on{
dir = 1
@@ -32532,6 +32529,9 @@
/area/science/mixing)
"bGn" = (
/obj/machinery/vending/wardrobe/science_wardrobe,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGo" = (
@@ -32551,6 +32551,9 @@
pixel_y = -2
},
/obj/structure/table/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGp" = (
@@ -32575,6 +32578,9 @@
network = list("ss13","rd")
},
/obj/machinery/light,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGq" = (
@@ -32592,16 +32598,25 @@
},
/obj/item/assembly/timer,
/obj/structure/table/reinforced,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGr" = (
/obj/structure/tank_dispenser,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGs" = (
/obj/effect/turf_decal/stripes/line{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 10
},
/turf/open/floor/plasteel/whitepurple/side,
/area/science/mixing)
"bGt" = (
@@ -33054,12 +33069,8 @@
/area/science/mixing)
"bHz" = (
/obj/machinery/atmospherics/components/binary/valve,
/obj/machinery/button/door{
id = "toxvent";
name = "Aft Vent Control";
pixel_y = -24;
req_access_txt = "0";
req_one_access_txt = "8;24"
/obj/machinery/button/door/incinerator_vent_toxmix{
pixel_y = -24
},
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -33075,14 +33086,9 @@
pixel_x = -6;
pixel_y = -24
},
/obj/machinery/doorButtons/airlock_controller{
idExterior = "tox_airlock_exterior";
idInterior = "tox_airlock_interior";
idSelf = "tox_access_control";
name = "Mixing Chamber Access Console";
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix{
pixel_x = 6;
pixel_y = -26;
req_access_txt = "0"
pixel_y = -26
},
/obj/effect/turf_decal/stripes/line{
dir = 4
@@ -33099,9 +33105,15 @@
dir = 2;
name = "Incinerator Output Pump"
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/plasteel,
/area/science/mixing)
"bHD" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/plasteel/purple/side,
/area/science/mixing)
"bHE" = (
@@ -33112,6 +33124,9 @@
/obj/effect/turf_decal/bot{
dir = 2
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
/turf/open/floor/plasteel/purple/side,
/area/science/mixing)
"bHI" = (
@@ -33550,15 +33565,7 @@
/area/science/mixing)
"bIL" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_interior";
name = "Interior Airlock";
req_access_txt = "8";
req_one_access_txt = "0"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior,
/obj/effect/mapping_helpers/airlock/cyclelink_helper,
/turf/open/floor/engine,
/area/science/mixing)
@@ -33989,36 +33996,33 @@
/obj/machinery/atmospherics/components/binary/pump/on{
dir = 2
},
/obj/machinery/doorButtons/access_button{
idDoor = "tox_airlock_exterior";
idSelf = "tox_access_control";
layer = 3.1;
name = "airlock control";
pixel_x = 8;
pixel_y = -24
},
/obj/machinery/light/small{
dir = 8
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 4
},
/obj/machinery/airlock_sensor/incinerator_toxmix{
pixel_x = -24
},
/turf/open/floor/engine,
/area/science/mixing)
"bJR" = (
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix{
dir = 8
},
/turf/open/floor/engine,
/area/science/mixing)
"bJS" = (
/obj/machinery/atmospherics/components/binary/pump{
dir = 1
},
/obj/machinery/doorButtons/access_button{
idDoor = "tox_airlock_interior";
idSelf = "tox_access_control";
name = "airlock control";
pixel_x = -8;
pixel_y = 24
},
/obj/machinery/light/small{
dir = 4
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
},
/turf/open/floor/engine,
/area/science/mixing)
"bJT" = (
@@ -34502,15 +34506,7 @@
/area/engine/atmos)
"bLf" = (
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "tox_airlock_exterior";
name = "Exterior Airlock";
req_access_txt = "8";
req_one_access_txt = "0"
},
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior,
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 1
},
@@ -35715,10 +35711,7 @@
/turf/closed/wall/r_wall,
/area/science/mixing)
"bOt" = (
/obj/machinery/door/poddoor{
id = "toxvent";
name = "Aft Vent"
},
/obj/machinery/door/poddoor/incinerator_toxmix,
/turf/open/floor/engine/vacuum,
/area/science/mixing)
"bOu" = (
@@ -40343,19 +40336,13 @@
dir = 8;
id = "incineratorturbine"
},
/obj/machinery/button/door{
id = "turbinevent";
name = "Outtake Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_main{
pixel_x = 24;
pixel_y = 6;
req_one_access_txt = "8;24"
pixel_y = 6
},
/obj/machinery/button/door{
id = "mixvent";
name = "Intake Vent Control";
/obj/machinery/button/door/incinerator_vent_atmos_aux{
pixel_x = 24;
pixel_y = -6;
req_one_access_txt = "8;24"
pixel_y = -6
},
/turf/open/floor/plasteel/darkyellow/side{
dir = 4
@@ -40375,6 +40362,9 @@
dir = 1
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/airlock_sensor/incinerator_atmos{
pixel_y = 22
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"bZT" = (
@@ -40642,24 +40632,10 @@
icon_state = "4-8"
},
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_interior";
name = "Turbine Interior Airlock";
req_access_txt = "24"
},
/obj/machinery/embedded_controller/radio/airlock_controller{
airpump_tag = "incinerator_airlock_pump";
exterior_door_tag = "incinerator_airlock_exterior";
id_tag = "incinerator_airlock_control";
interior_door_tag = "incinerator_airlock_interior";
name = "Incinerator Access Console";
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior,
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos{
pixel_x = -6;
pixel_y = -26;
sanitize_external = 1;
sensor_tag = "incinerator_airlock_sensor"
pixel_y = -26
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -40667,10 +40643,8 @@
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume{
dir = 2;
frequency = 1449;
id = "incinerator_airlock_pump"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{
dir = 2
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
@@ -40679,23 +40653,14 @@
icon_state = "4-8"
},
/obj/effect/mapping_helpers/airlock/locked,
/obj/machinery/door/airlock/public/glass{
autoclose = 0;
frequency = 1449;
heat_proof = 1;
id_tag = "incinerator_airlock_exterior";
name = "Turbine Exterior Airlock";
req_access_txt = "24"
},
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior,
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"caO" = (
/obj/structure/cable/yellow{
icon_state = "4-8"
},
/obj/machinery/igniter{
id = "Incinerator"
},
/obj/machinery/igniter/incinerator_atmos,
/obj/machinery/air_sensor/atmos/incinerator_tank{
pixel_x = 32;
pixel_y = -32
@@ -40732,10 +40697,7 @@
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"caR" = (
/obj/machinery/door/poddoor{
id = "turbinevent";
name = "Outtake Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_main,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"caS" = (
@@ -40955,8 +40917,7 @@
/turf/open/floor/plasteel/dark,
/area/maintenance/disposal/incinerator)
"cbC" = (
/obj/machinery/button/ignition{
id = "Incinerator";
/obj/machinery/button/ignition/incinerator/atmos{
pixel_x = 26;
pixel_y = -6
},
@@ -40980,12 +40941,6 @@
},
/obj/machinery/light/small,
/obj/machinery/atmospherics/pipe/simple/general/hidden,
/obj/machinery/airlock_sensor{
id_tag = "incinerator_airlock_sensor";
master_tag = "incinerator_airlock_control";
pixel_x = -26;
pixel_y = 8
},
/turf/open/floor/engine,
/area/maintenance/disposal/incinerator)
"cbF" = (
@@ -41229,10 +41184,7 @@
},
/area/maintenance/disposal/incinerator)
"ccs" = (
/obj/machinery/door/poddoor{
id = "mixvent";
name = "Intake Vent"
},
/obj/machinery/door/poddoor/incinerator_atmos_aux,
/turf/open/floor/engine/vacuum,
/area/maintenance/disposal/incinerator)
"ccu" = (
@@ -49766,6 +49718,12 @@
icon_state = "platingdmg3"
},
/area/maintenance/department/engine)
"kfh" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 9
},
/turf/closed/wall/r_wall,
/area/science/mixing)
"kfM" = (
/obj/structure/closet,
/obj/machinery/light/small{
@@ -49830,6 +49788,10 @@
/obj/item/clothing/under/rank/clown/sexy,
/turf/open/floor/plasteel/dark,
/area/maintenance/department/crew_quarters/dorms)
"kmn" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plasteel/white,
/area/science/mixing)
"knw" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -49872,9 +49834,6 @@
dir = 9
},
/area/chapel/office)
"kwI" = (
/turf/open/floor/plasteel,
/area/science/mixing)
"kxj" = (
/obj/structure/chair/office/dark{
dir = 1
@@ -50769,6 +50728,12 @@
/obj/item/stack/spacecash/c10,
/turf/open/floor/plasteel/dark,
/area/maintenance/department/crew_quarters/dorms)
"noM" = (
/obj/machinery/atmospherics/pipe/manifold/supply/hidden{
dir = 1
},
/turf/open/floor/plasteel,
/area/science/mixing)
"npE" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/open/floor/plating,
@@ -50806,6 +50771,12 @@
},
/turf/open/floor/plasteel,
/area/construction/mining/aux_base)
"nsD" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 6
},
/turf/closed/wall/r_wall,
/area/science/mixing)
"ntj" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -52430,6 +52401,10 @@
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
"rPW" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/turf/closed/wall/r_wall,
/area/science/mixing)
"rSH" = (
/obj/item/trash/can,
/turf/open/floor/wood,
@@ -53043,6 +53018,10 @@
},
/turf/open/floor/plating/airless,
/area/engine/engineering)
"ubW" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/turf/closed/wall/r_wall,
/area/science/mixing)
"uek" = (
/obj/structure/rack,
/obj/effect/spawner/lootdrop/maintenance{
@@ -54325,6 +54304,12 @@
},
/turf/open/floor/plasteel/dark/telecomms,
/area/tcommsat/server)
"xIx" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
dir = 5
},
/turf/closed/wall/r_wall,
/area/science/mixing)
"xJy" = (
/obj/structure/chair/comfy/black,
/obj/structure/sign/plaques/atmos{
@@ -94967,7 +94952,7 @@ bAF
bBK
bCW
bDV
bFg
bFh
bGm
bHy
aaa
@@ -95224,7 +95209,7 @@ bAF
bBL
bCW
bDW
bFh
kmn
bGn
bHy
aaa
@@ -96511,9 +96496,9 @@ bDa
bEa
bFm
bGs
bHy
bHy
bHy
ubW
ubW
xIx
bHy
bHy
bHy
@@ -97539,9 +97524,9 @@ bHy
bHy
bHy
bGw
bHy
bHy
bHy
nsD
rPW
kfh
bHy
bHy
bHy
@@ -97796,7 +97781,7 @@ bwm
glf
bFr
qtA
kwI
khk
bIN
dAF
bCV
@@ -98566,7 +98551,7 @@ nev
hgD
bEf
bFu
khk
noM
bHE
bJV
bLh
+31
View File
@@ -194,6 +194,37 @@
#define ATMOS_GAS_MONITOR_WASTE_ENGINE "engine-waste_out"
#define ATMOS_GAS_MONITOR_WASTE_ATMOS "atmos-waste_out"
//AIRLOCK CONTROLLER TAGS
//RnD toxins burn chamber
#define INCINERATOR_TOXMIX_IGNITER "toxmix_igniter"
#define INCINERATOR_TOXMIX_VENT "toxmix_vent"
#define INCINERATOR_TOXMIX_DP_VENTPUMP "toxmix_airlock_pump"
#define INCINERATOR_TOXMIX_AIRLOCK_SENSOR "toxmix_airlock_sensor"
#define INCINERATOR_TOXMIX_AIRLOCK_CONTROLLER "toxmix_airlock_controller"
#define INCINERATOR_TOXMIX_AIRLOCK_INTERIOR "toxmix_airlock_interior"
#define INCINERATOR_TOXMIX_AIRLOCK_EXTERIOR "toxmix_airlock_exterior"
//Atmospherics/maintenance incinerator
#define INCINERATOR_ATMOS_IGNITER "atmos_incinerator_igniter"
#define INCINERATOR_ATMOS_MAINVENT "atmos_incinerator_mainvent"
#define INCINERATOR_ATMOS_AUXVENT "atmos_incinerator_auxvent"
#define INCINERATOR_ATMOS_DP_VENTPUMP "atmos_incinerator_airlock_pump"
#define INCINERATOR_ATMOS_AIRLOCK_SENSOR "atmos_incinerator_airlock_sensor"
#define INCINERATOR_ATMOS_AIRLOCK_CONTROLLER "atmos_incinerator_airlock_controller"
#define INCINERATOR_ATMOS_AIRLOCK_INTERIOR "atmos_incinerator_airlock_interior"
#define INCINERATOR_ATMOS_AIRLOCK_EXTERIOR "atmos_incinerator_airlock_exterior"
//Syndicate lavaland base incinerator (lavaland_surface_syndicate_base1.dmm)
#define INCINERATOR_SYNDICATELAVA_IGNITER "syndicatelava_igniter"
#define INCINERATOR_SYNDICATELAVA_MAINVENT "syndicatelava_mainvent"
#define INCINERATOR_SYNDICATELAVA_AUXVENT "syndicatelava_auxvent"
#define INCINERATOR_SYNDICATELAVA_DP_VENTPUMP "syndicatelava_airlock_pump"
#define INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR "syndicatelava_airlock_sensor"
#define INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER "syndicatelava_airlock_controller"
#define INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR "syndicatelava_airlock_interior"
#define INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR "syndicatelava_airlock_exterior"
//MULTIPIPES
//IF YOU EVER CHANGE THESE CHANGE SPRITES TO MATCH.
#define PIPING_LAYER_MIN 1
+164 -154
View File
@@ -1,154 +1,164 @@
#define AIRLOCK_CONTROL_RANGE 5
// This code allows for airlocks to be controlled externally by setting an id_tag and comm frequency (disables ID access)
/obj/machinery/door/airlock
var/id_tag
var/frequency
var/datum/radio_frequency/radio_connection
/obj/machinery/door/airlock/receive_signal(datum/signal/signal)
if(!signal)
return
if(id_tag != signal.data["tag"] || !signal.data["command"])
return
switch(signal.data["command"])
if("open")
open(1)
if("close")
close(1)
if("unlock")
locked = FALSE
update_icon()
if("lock")
locked = TRUE
update_icon()
if("secure_open")
locked = FALSE
update_icon()
sleep(2)
open(1)
locked = TRUE
update_icon()
if("secure_close")
locked = FALSE
close(1)
locked = TRUE
sleep(2)
update_icon()
send_status()
/obj/machinery/door/airlock/proc/send_status()
if(radio_connection)
var/datum/signal/signal = new(list(
"tag" = id_tag,
"timestamp" = world.time,
"door_status" = density ? "closed" : "open",
"lock_status" = locked ? "locked" : "unlocked"
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
/obj/machinery/door/airlock/open(surpress_send)
. = ..()
if(!surpress_send)
send_status()
/obj/machinery/door/airlock/close(surpress_send)
. = ..()
if(!surpress_send)
send_status()
/obj/machinery/door/airlock/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
if(new_frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
/obj/machinery/door/airlock/Destroy()
if(frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/airlock_sensor
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "airlock_sensor_off"
name = "airlock sensor"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
anchored = TRUE
power_channel = ENVIRON
var/id_tag
var/master_tag
var/frequency = FREQ_AIRLOCK_CONTROL
var/datum/radio_frequency/radio_connection
var/on = TRUE
var/alert = FALSE
/obj/machinery/airlock_sensor/update_icon()
if(on)
if(alert)
icon_state = "airlock_sensor_alert"
else
icon_state = "airlock_sensor_standby"
else
icon_state = "airlock_sensor_off"
/obj/machinery/airlock_sensor/attack_hand(mob/user)
. = ..()
if(.)
return
var/datum/signal/signal = new(list(
"tag" = master_tag,
"command" = "cycle"
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
flick("airlock_sensor_cycle", src)
/obj/machinery/airlock_sensor/process()
if(on)
var/datum/gas_mixture/air_sample = return_air()
var/pressure = round(air_sample.return_pressure(),0.1)
alert = (pressure < ONE_ATMOSPHERE*0.8)
var/datum/signal/signal = new(list(
"tag" = id_tag,
"timestamp" = world.time,
"pressure" = num2text(pressure)
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
update_icon()
/obj/machinery/airlock_sensor/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
/obj/machinery/airlock_sensor/Initialize()
. = ..()
set_frequency(frequency)
/obj/machinery/airlock_sensor/Destroy()
SSradio.remove_object(src,frequency)
return ..()
#define AIRLOCK_CONTROL_RANGE 5
// This code allows for airlocks to be controlled externally by setting an id_tag and comm frequency (disables ID access)
/obj/machinery/door/airlock
var/id_tag
var/frequency
var/datum/radio_frequency/radio_connection
/obj/machinery/door/airlock/receive_signal(datum/signal/signal)
if(!signal)
return
if(id_tag != signal.data["tag"] || !signal.data["command"])
return
switch(signal.data["command"])
if("open")
open(1)
if("close")
close(1)
if("unlock")
locked = FALSE
update_icon()
if("lock")
locked = TRUE
update_icon()
if("secure_open")
locked = FALSE
update_icon()
sleep(2)
open(1)
locked = TRUE
update_icon()
if("secure_close")
locked = FALSE
close(1)
locked = TRUE
sleep(2)
update_icon()
send_status()
/obj/machinery/door/airlock/proc/send_status()
if(radio_connection)
var/datum/signal/signal = new(list(
"tag" = id_tag,
"timestamp" = world.time,
"door_status" = density ? "closed" : "open",
"lock_status" = locked ? "locked" : "unlocked"
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
/obj/machinery/door/airlock/open(surpress_send)
. = ..()
if(!surpress_send)
send_status()
/obj/machinery/door/airlock/close(surpress_send)
. = ..()
if(!surpress_send)
send_status()
/obj/machinery/door/airlock/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
if(new_frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
/obj/machinery/door/airlock/Destroy()
if(frequency)
SSradio.remove_object(src,frequency)
return ..()
/obj/machinery/airlock_sensor
icon = 'icons/obj/airlock_machines.dmi'
icon_state = "airlock_sensor_off"
name = "airlock sensor"
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
power_channel = ENVIRON
var/id_tag
var/master_tag
var/frequency = FREQ_AIRLOCK_CONTROL
var/datum/radio_frequency/radio_connection
var/on = TRUE
var/alert = FALSE
/obj/machinery/airlock_sensor/incinerator_toxmix
id_tag = INCINERATOR_TOXMIX_AIRLOCK_SENSOR
master_tag = INCINERATOR_TOXMIX_AIRLOCK_CONTROLLER
/obj/machinery/airlock_sensor/incinerator_atmos
id_tag = INCINERATOR_ATMOS_AIRLOCK_SENSOR
master_tag = INCINERATOR_ATMOS_AIRLOCK_CONTROLLER
/obj/machinery/airlock_sensor/incinerator_syndicatelava
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR
master_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER
/obj/machinery/airlock_sensor/update_icon()
if(on)
if(alert)
icon_state = "airlock_sensor_alert"
else
icon_state = "airlock_sensor_standby"
else
icon_state = "airlock_sensor_off"
/obj/machinery/airlock_sensor/attack_hand(mob/user)
. = ..()
if(.)
return
var/datum/signal/signal = new(list(
"tag" = master_tag,
"command" = "cycle"
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
flick("airlock_sensor_cycle", src)
/obj/machinery/airlock_sensor/process()
if(on)
var/datum/gas_mixture/air_sample = return_air()
var/pressure = round(air_sample.return_pressure(),0.1)
alert = (pressure < ONE_ATMOSPHERE*0.8)
var/datum/signal/signal = new(list(
"tag" = id_tag,
"timestamp" = world.time,
"pressure" = num2text(pressure)
))
radio_connection.post_signal(src, signal, range = AIRLOCK_CONTROL_RANGE, filter = RADIO_AIRLOCK)
update_icon()
/obj/machinery/airlock_sensor/proc/set_frequency(new_frequency)
SSradio.remove_object(src, frequency)
frequency = new_frequency
radio_connection = SSradio.add_object(src, frequency, RADIO_AIRLOCK)
/obj/machinery/airlock_sensor/Initialize()
. = ..()
set_frequency(frequency)
/obj/machinery/airlock_sensor/Destroy()
SSradio.remove_object(src,frequency)
return ..()
+38
View File
@@ -190,6 +190,31 @@
device = new /obj/item/assembly/control(src)
..()
/obj/machinery/button/door/incinerator_vent_toxmix
name = "combustion chamber vent control"
id = INCINERATOR_TOXMIX_VENT
req_access = list(ACCESS_TOX)
/obj/machinery/button/door/incinerator_vent_atmos_main
name = "turbine vent control"
id = INCINERATOR_ATMOS_MAINVENT
req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS)
/obj/machinery/button/door/incinerator_vent_atmos_aux
name = "combustion chamber vent control"
id = INCINERATOR_ATMOS_AUXVENT
req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS)
/obj/machinery/button/door/incinerator_vent_syndicatelava_main
name = "turbine vent control"
id = INCINERATOR_SYNDICATELAVA_MAINVENT
req_access = list(ACCESS_SYNDICATE)
/obj/machinery/button/door/incinerator_vent_syndicatelava_aux
name = "combustion chamber vent control"
id = INCINERATOR_SYNDICATELAVA_AUXVENT
req_access = list(ACCESS_SYNDICATE)
/obj/machinery/button/massdriver
name = "mass driver button"
desc = "A remote control switch for a mass driver."
@@ -204,6 +229,19 @@
skin = "launcher"
device_type = /obj/item/assembly/control/igniter
/obj/machinery/button/ignition/incinerator
name = "combustion chamber ignition switch"
desc = "A remote control switch for the combustion chamber's igniter."
/obj/machinery/button/ignition/incinerator/toxmix
id = INCINERATOR_TOXMIX_IGNITER
/obj/machinery/button/ignition/incinerator/atmos
id = INCINERATOR_ATMOS_IGNITER
/obj/machinery/button/ignition/incinerator/syndicatelava
id = INCINERATOR_SYNDICATELAVA_IGNITER
/obj/machinery/button/flasher
name = "flasher button"
desc = "A remote control switch for a mounted flasher."
@@ -79,6 +79,20 @@
opacity = 0
glass = TRUE
/obj/machinery/door/airlock/glass/incinerator
autoclose = FALSE
frequency = FREQ_AIRLOCK_CONTROL
heat_proof = TRUE
req_access = list(ACCESS_SYNDICATE)
/obj/machinery/door/airlock/glass/incinerator/syndicatelava_interior
name = "Turbine Interior Airlock"
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR
/obj/machinery/door/airlock/glass/incinerator/syndicatelava_exterior
name = "Turbine Exterior Airlock"
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR
/obj/machinery/door/airlock/command/glass
opacity = 0
glass = TRUE
@@ -107,6 +121,20 @@
opacity = 0
glass = TRUE
/obj/machinery/door/airlock/research/glass/incinerator
autoclose = FALSE
frequency = FREQ_AIRLOCK_CONTROL
heat_proof = TRUE
req_access = list(ACCESS_TOX)
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior
name = "Mixing Room Interior Airlock"
id_tag = INCINERATOR_TOXMIX_AIRLOCK_INTERIOR
/obj/machinery/door/airlock/research/glass/incinerator/toxmix_exterior
name = "Mixing Room Exterior Airlock"
id_tag = INCINERATOR_TOXMIX_AIRLOCK_EXTERIOR
/obj/machinery/door/airlock/mining/glass
opacity = 0
glass = TRUE
@@ -287,6 +315,20 @@
opacity = 0
glass = TRUE
/obj/machinery/door/airlock/public/glass/incinerator
autoclose = FALSE
frequency = FREQ_AIRLOCK_CONTROL
heat_proof = TRUE
req_one_access = list(ACCESS_ATMOSPHERICS, ACCESS_MAINT_TUNNELS)
/obj/machinery/door/airlock/public/glass/incinerator/atmos_interior
name = "Turbine Interior Airlock"
id_tag = INCINERATOR_ATMOS_AIRLOCK_INTERIOR
/obj/machinery/door/airlock/public/glass/incinerator/atmos_exterior
name = "Turbine Exterior Airlock"
id_tag = INCINERATOR_ATMOS_AIRLOCK_EXTERIOR
//////////////////////////////////
/*
External Airlocks
+20
View File
@@ -36,6 +36,26 @@
else
INVOKE_ASYNC(src, .proc/close)
/obj/machinery/door/poddoor/incinerator_toxmix
name = "combustion chamber vent"
id = INCINERATOR_TOXMIX_VENT
/obj/machinery/door/poddoor/incinerator_atmos_main
name = "turbine vent"
id = INCINERATOR_ATMOS_MAINVENT
/obj/machinery/door/poddoor/incinerator_atmos_aux
name = "combustion chamber vent"
id = INCINERATOR_ATMOS_AUXVENT
/obj/machinery/door/poddoor/incinerator_syndicatelava_main
name = "turbine vent"
id = INCINERATOR_SYNDICATELAVA_MAINVENT
/obj/machinery/door/poddoor/incinerator_syndicatelava_aux
name = "combustion chamber vent"
id = INCINERATOR_SYNDICATELAVA_AUXVENT
/obj/machinery/door/poddoor/CollidedWith(atom/movable/AM)
if(density)
return 0
@@ -7,11 +7,11 @@
/datum/computer/file/embedded_program/airlock_controller
var/id_tag
var/exterior_door_tag
var/interior_door_tag
var/airpump_tag
var/sensor_tag
var/sanitize_external
var/exterior_door_tag //Burn chamber facing door
var/interior_door_tag //Station facing door
var/airpump_tag //See: dp_vent_pump.dm
var/sensor_tag //See: /obj/machinery/airlock_sensor
var/sanitize_external //Before the interior airlock opens, do we first drain all gases inside the chamber and then repressurize?
state = AIRLOCK_STATE_CLOSED
var/target_state = AIRLOCK_STATE_CLOSED
@@ -211,6 +211,33 @@
var/sensor_tag
var/sanitize_external
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_toxmix
name = "Incinerator Access Console"
airpump_tag = INCINERATOR_TOXMIX_DP_VENTPUMP
exterior_door_tag = INCINERATOR_TOXMIX_AIRLOCK_EXTERIOR
id_tag = INCINERATOR_TOXMIX_AIRLOCK_CONTROLLER
interior_door_tag = INCINERATOR_TOXMIX_AIRLOCK_INTERIOR
sanitize_external = TRUE
sensor_tag = INCINERATOR_TOXMIX_AIRLOCK_SENSOR
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_atmos
name = "Incinerator Access Console"
airpump_tag = INCINERATOR_ATMOS_DP_VENTPUMP
exterior_door_tag = INCINERATOR_ATMOS_AIRLOCK_EXTERIOR
id_tag = INCINERATOR_ATMOS_AIRLOCK_CONTROLLER
interior_door_tag = INCINERATOR_ATMOS_AIRLOCK_INTERIOR
sanitize_external = TRUE
sensor_tag = INCINERATOR_ATMOS_AIRLOCK_SENSOR
/obj/machinery/embedded_controller/radio/airlock_controller/incinerator_syndicatelava
name = "Incinerator Access Console"
airpump_tag = INCINERATOR_SYNDICATELAVA_DP_VENTPUMP
exterior_door_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_EXTERIOR
id_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_CONTROLLER
interior_door_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_INTERIOR
sanitize_external = TRUE
sensor_tag = INCINERATOR_SYNDICATELAVA_AIRLOCK_SENSOR
/obj/machinery/embedded_controller/radio/airlock_controller/Initialize(mapload)
. = ..()
if(!mapload)
+12
View File
@@ -14,6 +14,15 @@
armor = list("melee" = 50, "bullet" = 30, "laser" = 70, "energy" = 50, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70)
resistance_flags = FIRE_PROOF
/obj/machinery/igniter/incinerator_toxmix
id = INCINERATOR_TOXMIX_IGNITER
/obj/machinery/igniter/incinerator_atmos
id = INCINERATOR_ATMOS_IGNITER
/obj/machinery/igniter/incinerator_syndicatelava
id = INCINERATOR_SYNDICATELAVA_IGNITER
/obj/machinery/igniter/on
on = TRUE
icon_state = "igniter1"
@@ -60,6 +69,9 @@
anchored = TRUE
resistance_flags = FIRE_PROOF
/obj/machinery/sparker/toxmix
id = INCINERATOR_TOXMIX_IGNITER
/obj/machinery/sparker/Initialize()
. = ..()
spark_system = new /datum/effect_system/spark_spread
@@ -62,6 +62,18 @@ Acts like a normal vent, but has an input AND output.
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume
name = "large dual-port air vent"
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_toxmix
id = INCINERATOR_TOXMIX_DP_VENTPUMP
frequency = FREQ_AIRLOCK_CONTROL
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos
id = INCINERATOR_ATMOS_DP_VENTPUMP
frequency = FREQ_AIRLOCK_CONTROL
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_syndicatelava
id = INCINERATOR_SYNDICATELAVA_DP_VENTPUMP
frequency = FREQ_AIRLOCK_CONTROL
/obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/layer1
piping_layer = PIPING_LAYER_MIN
pixel_x = -PIPING_LAYER_P_X