mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-14 00:23:29 +01:00
Atmospherics refactor (#18460)
* Atmospherics refactor * META(GAMING) * Cleanup * RPD hotfix * Fox review * Do this * Well that escalated * Repath these * Ah yes, scope creep * Remove this comment * Regression #1
This commit is contained in:
+122
-122
@@ -244,7 +244,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"adu" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
@@ -537,7 +537,7 @@
|
||||
network = list("SS13","Engineering")
|
||||
},
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/northeast,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/auxsolarstarboard)
|
||||
@@ -1832,7 +1832,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 10;
|
||||
icon_state = "arrival"
|
||||
@@ -2975,7 +2975,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 4;
|
||||
icon_state = "neutral"
|
||||
@@ -3291,7 +3291,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 4;
|
||||
icon_state = "neutral"
|
||||
@@ -6166,7 +6166,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
"axK" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 1
|
||||
},
|
||||
@@ -7021,7 +7021,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/engine/supermatter)
|
||||
"azU" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 4
|
||||
},
|
||||
@@ -7953,7 +7953,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
"aBX" = (
|
||||
/obj/machinery/power/supermatter_crystal,
|
||||
/obj/machinery/atmospherics/supermatter_crystal,
|
||||
/turf/simulated/floor/engine,
|
||||
/area/engine/supermatter)
|
||||
"aBY" = (
|
||||
@@ -8050,7 +8050,7 @@
|
||||
/area/engine/controlroom)
|
||||
"aCj" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
@@ -8340,7 +8340,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
"aCV" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible{
|
||||
dir = 4
|
||||
@@ -8354,7 +8354,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
"aCY" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible{
|
||||
dir = 10
|
||||
},
|
||||
@@ -8369,7 +8369,7 @@
|
||||
/turf/simulated/floor/engine,
|
||||
/area/engine/supermatter)
|
||||
"aDa" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible{
|
||||
dir = 6;
|
||||
level = 1
|
||||
@@ -8388,7 +8388,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
"aDd" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 8
|
||||
},
|
||||
@@ -8913,7 +8913,7 @@
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
"aEp" = (
|
||||
@@ -9294,7 +9294,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
@@ -9583,7 +9583,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
"aFW" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "yellowfull"
|
||||
@@ -9643,7 +9643,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/controlroom)
|
||||
"aGa" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible,
|
||||
/obj/structure/cable/yellow{
|
||||
d1 = 4;
|
||||
@@ -10686,7 +10686,7 @@
|
||||
/area/security/permabrig)
|
||||
"aIq" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/air{
|
||||
/obj/machinery/atmospherics/portable/canister/air{
|
||||
filled = 0.05
|
||||
},
|
||||
/obj/effect/decal/warning_stripes/northwest,
|
||||
@@ -10753,7 +10753,7 @@
|
||||
/area/maintenance/incinerator)
|
||||
"aIw" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
@@ -10765,7 +10765,7 @@
|
||||
/area/maintenance/incinerator)
|
||||
"aIx" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/obj/machinery/atmospherics/portable/canister,
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Turbine";
|
||||
network = list("SS13","Engineering")
|
||||
@@ -12017,7 +12017,7 @@
|
||||
},
|
||||
/area/maintenance/incinerator)
|
||||
"aLe" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "neutralfull"
|
||||
@@ -12577,7 +12577,7 @@
|
||||
/area/quartermaster/storage)
|
||||
"aMA" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/obj/machinery/atmospherics/portable/canister,
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
@@ -12613,7 +12613,7 @@
|
||||
},
|
||||
/area/engine/controlroom)
|
||||
"aMF" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/maintenance/incinerator)
|
||||
@@ -15908,7 +15908,7 @@
|
||||
},
|
||||
/area/atmos)
|
||||
"aUf" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible/yellow{
|
||||
dir = 1
|
||||
},
|
||||
@@ -15953,7 +15953,7 @@
|
||||
/area/crew_quarters/bar)
|
||||
"aUk" = (
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
|
||||
dir = 4
|
||||
},
|
||||
@@ -16819,7 +16819,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/atmos)
|
||||
"aVS" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1443;
|
||||
id_tag = "air_sensor";
|
||||
output = 7
|
||||
@@ -16827,7 +16827,7 @@
|
||||
/turf/simulated/floor/engine/air,
|
||||
/area/atmos)
|
||||
"aVT" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air{
|
||||
/obj/machinery/atmospherics/portable/canister/air{
|
||||
anchored = 1
|
||||
},
|
||||
/turf/simulated/floor/engine/air,
|
||||
@@ -17264,7 +17264,7 @@
|
||||
},
|
||||
/area/security/permabrig)
|
||||
"aWL" = (
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent,
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent,
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
@@ -17471,7 +17471,7 @@
|
||||
/area/atmos)
|
||||
"aXd" = (
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
|
||||
dir = 4
|
||||
},
|
||||
@@ -17526,7 +17526,7 @@
|
||||
},
|
||||
/area/atmos)
|
||||
"aXl" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible{
|
||||
dir = 4
|
||||
},
|
||||
@@ -18015,13 +18015,13 @@
|
||||
/turf/simulated/floor/engine/co2,
|
||||
/area/atmos)
|
||||
"aYv" = (
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide{
|
||||
/obj/machinery/atmospherics/portable/canister/carbon_dioxide{
|
||||
anchored = 1
|
||||
},
|
||||
/turf/simulated/floor/engine/co2,
|
||||
/area/atmos)
|
||||
"aYw" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "co2_sensor"
|
||||
},
|
||||
@@ -18953,7 +18953,7 @@
|
||||
/area/atmos)
|
||||
"bah" = (
|
||||
/obj/structure/grille,
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/green{
|
||||
dir = 4
|
||||
},
|
||||
@@ -19013,7 +19013,7 @@
|
||||
},
|
||||
/area/atmos)
|
||||
"bao" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/item/wrench,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 8
|
||||
@@ -19026,7 +19026,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/obj/machinery/atmospherics/portable/canister,
|
||||
/obj/effect/decal/warning_stripes/west,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
@@ -19724,7 +19724,7 @@
|
||||
},
|
||||
/area/atmos)
|
||||
"bbO" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 4
|
||||
},
|
||||
@@ -19798,14 +19798,14 @@
|
||||
},
|
||||
/area/atmos)
|
||||
"bbY" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "o2_sensor"
|
||||
},
|
||||
/turf/simulated/floor/engine/o2,
|
||||
/area/atmos)
|
||||
"bbZ" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen{
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen{
|
||||
anchored = 1
|
||||
},
|
||||
/turf/simulated/floor/engine/o2,
|
||||
@@ -20349,7 +20349,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"bdp" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 8
|
||||
},
|
||||
@@ -20950,13 +20950,13 @@
|
||||
/turf/simulated/floor/engine/plasma,
|
||||
/area/atmos)
|
||||
"beF" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins{
|
||||
/obj/machinery/atmospherics/portable/canister/toxins{
|
||||
anchored = 1
|
||||
},
|
||||
/turf/simulated/floor/engine/plasma,
|
||||
/area/atmos)
|
||||
"beG" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "tox_sensor"
|
||||
},
|
||||
@@ -21465,7 +21465,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor/plasteel{
|
||||
@@ -22013,7 +22013,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/security/securearmoury)
|
||||
"bhj" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 1
|
||||
},
|
||||
@@ -22101,14 +22101,14 @@
|
||||
/turf/simulated/floor/plasteel/dark,
|
||||
/area/atmos)
|
||||
"bhs" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "n2_sensor"
|
||||
},
|
||||
/turf/simulated/floor/engine/n2,
|
||||
/area/atmos)
|
||||
"bht" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen{
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen{
|
||||
anchored = 1
|
||||
},
|
||||
/turf/simulated/floor/engine/n2,
|
||||
@@ -23641,13 +23641,13 @@
|
||||
/turf/simulated/floor/engine/n20,
|
||||
/area/atmos)
|
||||
"bkw" = (
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent{
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent{
|
||||
anchored = 1
|
||||
},
|
||||
/turf/simulated/floor/engine/n20,
|
||||
/area/atmos)
|
||||
"bkx" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "n2o_sensor"
|
||||
},
|
||||
@@ -23684,13 +23684,13 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"bkB" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/yellow,
|
||||
/obj/effect/decal/warning_stripes/south,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"bkC" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
|
||||
/obj/effect/decal/warning_stripes/south,
|
||||
/turf/simulated/floor/plasteel,
|
||||
@@ -26175,7 +26175,7 @@
|
||||
/turf/simulated/floor/plasteel/grimy,
|
||||
/area/library)
|
||||
"bpQ" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen,
|
||||
/obj/machinery/light{
|
||||
dir = 1
|
||||
},
|
||||
@@ -26972,7 +26972,7 @@
|
||||
/turf/simulated/floor/engine/vacuum,
|
||||
/area/atmos)
|
||||
"bry" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "waste_sensor";
|
||||
output = 63
|
||||
@@ -27010,7 +27010,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"brB" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible/green,
|
||||
/obj/effect/decal/warning_stripes/north,
|
||||
/turf/simulated/floor/plasteel,
|
||||
@@ -27111,17 +27111,17 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"brO" = (
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent,
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"brP" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"brR" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/structure/sign/nosmoking_2{
|
||||
pixel_x = 32
|
||||
},
|
||||
@@ -27764,7 +27764,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"btt" = (
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent,
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent,
|
||||
/obj/structure/cable{
|
||||
d1 = 4;
|
||||
d2 = 8;
|
||||
@@ -27777,7 +27777,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"btu" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen,
|
||||
/obj/structure/cable{
|
||||
d1 = 2;
|
||||
d2 = 8;
|
||||
@@ -27791,12 +27791,12 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"btv" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
"btw" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/atmos)
|
||||
@@ -28185,7 +28185,7 @@
|
||||
},
|
||||
/area/atmos)
|
||||
"bup" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible/cyan{
|
||||
dir = 4;
|
||||
initialize_directions = 11
|
||||
@@ -28234,7 +28234,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/obj/structure/sign/nosmoking_2{
|
||||
pixel_y = -32
|
||||
},
|
||||
@@ -28246,7 +28246,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Atmospherics Storage";
|
||||
dir = 1
|
||||
@@ -28263,7 +28263,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "escape"
|
||||
},
|
||||
@@ -28277,7 +28277,7 @@
|
||||
name = "south bump";
|
||||
pixel_y = -24
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "escape"
|
||||
},
|
||||
@@ -28400,7 +28400,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 4;
|
||||
icon_state = "escape"
|
||||
@@ -28814,7 +28814,7 @@
|
||||
},
|
||||
/area/atmos)
|
||||
"bvH" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold4w/visible,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "caution"
|
||||
@@ -28831,7 +28831,7 @@
|
||||
},
|
||||
/area/atmos)
|
||||
"bvJ" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 4
|
||||
},
|
||||
@@ -30345,7 +30345,7 @@
|
||||
c_tag = "Port Hallway North";
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 4;
|
||||
icon_state = "arrival"
|
||||
@@ -31001,7 +31001,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 4;
|
||||
icon_state = "arrival"
|
||||
@@ -31463,7 +31463,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/northwest,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/gravitygenerator)
|
||||
@@ -37673,7 +37673,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/break_room)
|
||||
"bNW" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
@@ -38478,7 +38478,7 @@
|
||||
/area/engine/break_room)
|
||||
"bPG" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/northeastcorner,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/turret_protected/aisat)
|
||||
@@ -38488,7 +38488,7 @@
|
||||
name = "north bump";
|
||||
pixel_y = 24
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/structure/cable{
|
||||
d1 = 2;
|
||||
d2 = 4;
|
||||
@@ -39810,7 +39810,7 @@
|
||||
},
|
||||
/area/hallway/primary/port)
|
||||
"bSr" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
@@ -43072,7 +43072,7 @@
|
||||
/turf/simulated/wall/r_wall,
|
||||
/area/engine/engineering)
|
||||
"bZs" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
@@ -48945,7 +48945,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/engine_smes)
|
||||
"cnf" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/engine_smes)
|
||||
@@ -49473,7 +49473,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/engine_smes)
|
||||
"cov" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/engine/engine_smes)
|
||||
"cow" = (
|
||||
@@ -49646,7 +49646,7 @@
|
||||
/area/crew_quarters/locker)
|
||||
"coS" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "arrival"
|
||||
@@ -49654,7 +49654,7 @@
|
||||
/area/crew_quarters/locker)
|
||||
"coT" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "escape"
|
||||
@@ -51344,7 +51344,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
"cst" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/portable/canister/toxins,
|
||||
/obj/machinery/light/small{
|
||||
dir = 8
|
||||
},
|
||||
@@ -55762,7 +55762,7 @@
|
||||
name = "west bump";
|
||||
pixel_x = -30
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/yellow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/maintenance/port)
|
||||
@@ -56325,7 +56325,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/southwest,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/engineering)
|
||||
@@ -56398,7 +56398,7 @@
|
||||
/area/engine/engine_smes)
|
||||
"cDM" = (
|
||||
/obj/machinery/light,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/engine/engine_smes)
|
||||
@@ -58702,7 +58702,7 @@
|
||||
/obj/machinery/light/small{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/xenobiology)
|
||||
@@ -59788,7 +59788,7 @@
|
||||
/area/crew_quarters/fitness)
|
||||
"cLx" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/northeast,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/maintenance/electrical)
|
||||
@@ -60346,7 +60346,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/maintenance/electrical)
|
||||
"cMV" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 4
|
||||
},
|
||||
@@ -61910,7 +61910,7 @@
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/toxins/misc_lab)
|
||||
"cQx" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible{
|
||||
dir = 4
|
||||
},
|
||||
@@ -64543,7 +64543,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/maintenance/port)
|
||||
"cWm" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
layer = 2
|
||||
},
|
||||
@@ -68522,7 +68522,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/obj/machinery/atmospherics/portable/canister,
|
||||
/obj/effect/decal/warning_stripes/southwest,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/maintenance/electrical)
|
||||
@@ -69505,7 +69505,7 @@
|
||||
},
|
||||
/area/maintenance/starboard)
|
||||
"dhr" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/yellow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/maintenance/starboard)
|
||||
@@ -70346,7 +70346,7 @@
|
||||
/turf/simulated/floor/carpet,
|
||||
/area/maintenance/starboard)
|
||||
"diX" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"diY" = (
|
||||
@@ -71490,7 +71490,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/southwest,
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/medical/medbay)
|
||||
@@ -71840,7 +71840,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/southeast,
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/medical/medbay)
|
||||
@@ -73482,7 +73482,7 @@
|
||||
pixel_x = -32;
|
||||
pixel_y = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "whitepurplecorner"
|
||||
@@ -73529,7 +73529,7 @@
|
||||
name = "east bump";
|
||||
pixel_x = 30
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/west,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 4;
|
||||
@@ -73986,7 +73986,7 @@
|
||||
/area/ntrep)
|
||||
"drr" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/obj/machinery/alarm{
|
||||
dir = 4;
|
||||
name = "west bump";
|
||||
@@ -74471,7 +74471,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/obj/machinery/atmospherics/portable/canister,
|
||||
/obj/effect/decal/warning_stripes/southwest,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 4;
|
||||
@@ -76678,14 +76678,14 @@
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/toxins/launch)
|
||||
"dxm" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 8
|
||||
},
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/toxins/mixing)
|
||||
"dxn" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen,
|
||||
/obj/machinery/alarm{
|
||||
name = "north bump";
|
||||
pixel_y = 24
|
||||
@@ -76694,7 +76694,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
"dxo" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen,
|
||||
/obj/item/radio/intercom{
|
||||
name = "north bump";
|
||||
pixel_y = 28
|
||||
@@ -76750,7 +76750,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen,
|
||||
/obj/structure/cable{
|
||||
d2 = 4;
|
||||
icon_state = "0-4"
|
||||
@@ -77327,7 +77327,7 @@
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/toxins/storage)
|
||||
"dyG" = (
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/obj/machinery/atmospherics/portable/canister,
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
@@ -78657,7 +78657,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
"dBy" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge,
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
@@ -78668,7 +78668,7 @@
|
||||
pixel_x = 24
|
||||
},
|
||||
/obj/structure/cable,
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge,
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
@@ -79128,12 +79128,12 @@
|
||||
},
|
||||
/area/maintenance/apmaint)
|
||||
"dCK" = (
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/portable/canister/carbon_dioxide,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
"dCM" = (
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent,
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
@@ -79675,18 +79675,18 @@
|
||||
/turf/simulated/floor/plasteel/airless,
|
||||
/area/toxins/test_area)
|
||||
"dDQ" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
"dDR" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
"dDS" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/portable/canister/toxins,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/toxins/storage)
|
||||
@@ -79696,7 +79696,7 @@
|
||||
/area/toxins/launch)
|
||||
"dDU" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/apmaint)
|
||||
"dDV" = (
|
||||
@@ -79755,7 +79755,7 @@
|
||||
},
|
||||
/area/maintenance/apmaint)
|
||||
"dEa" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/portable/canister/toxins,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
@@ -82058,7 +82058,7 @@
|
||||
},
|
||||
/area/medical/virology)
|
||||
"dJU" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
@@ -84546,7 +84546,7 @@
|
||||
/area/hallway/secondary/exit)
|
||||
"dPZ" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/northwest,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/portsolar)
|
||||
@@ -92338,7 +92338,7 @@
|
||||
},
|
||||
/area/security/permabrig)
|
||||
"mTO" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1222;
|
||||
id_tag = "burn_sensor"
|
||||
},
|
||||
@@ -92953,7 +92953,7 @@
|
||||
c_tag = "Aft Starboard Solars"
|
||||
},
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/northeast,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/maintenance/starboardsolar)
|
||||
@@ -93590,7 +93590,7 @@
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 8;
|
||||
icon_state = "vault"
|
||||
@@ -93653,7 +93653,7 @@
|
||||
},
|
||||
/area/security/main)
|
||||
"pxj" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/stationary,
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge/stationary,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 10;
|
||||
icon_state = "red"
|
||||
@@ -94390,7 +94390,7 @@
|
||||
},
|
||||
/area/security/warden)
|
||||
"qWp" = (
|
||||
/obj/machinery/meter{
|
||||
/obj/machinery/atmospherics/meter{
|
||||
layer = 3.31
|
||||
},
|
||||
/obj/structure/window/plasmareinforced{
|
||||
@@ -94412,7 +94412,7 @@
|
||||
/turf/simulated/floor/plasteel/dark,
|
||||
/area/maintenance/fore2)
|
||||
"qXF" = (
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent,
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent,
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
@@ -95233,7 +95233,7 @@
|
||||
/obj/structure/sign/electricshock{
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/portable/canister/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
@@ -95721,7 +95721,7 @@
|
||||
},
|
||||
/area/hallway/primary/port)
|
||||
"tvq" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/stationary,
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge/stationary,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "red"
|
||||
@@ -96167,7 +96167,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/light/small{
|
||||
dir = 4
|
||||
},
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -803,7 +803,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/turf/simulated/floor/plasteel/white,
|
||||
/area/ruin/powered/animal_hospital)
|
||||
"cf" = (
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/ruin/space/abandtele)
|
||||
"s" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/ruin/space/abandtele)
|
||||
"t" = (
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/ruin/space/tcommsat)
|
||||
"aq" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/ruin/space/tcommsat)
|
||||
"ar" = (
|
||||
@@ -125,7 +125,7 @@
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/ruin/space/tcommsat)
|
||||
"az" = (
|
||||
|
||||
@@ -205,11 +205,11 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/ruin/space/unpowered)
|
||||
"as" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/ruin/space/unpowered)
|
||||
"at" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/ruin/space/unpowered)
|
||||
"au" = (
|
||||
|
||||
@@ -714,7 +714,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/door/window/westleft,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/space/methlab)
|
||||
"x" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/space/methlab)
|
||||
"y" = (
|
||||
|
||||
@@ -2067,7 +2067,7 @@
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/ruin/powered)
|
||||
"gB" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/ruin/powered)
|
||||
"gC" = (
|
||||
@@ -2361,7 +2361,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/powered)
|
||||
"hx" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/powered)
|
||||
"hy" = (
|
||||
|
||||
@@ -1301,7 +1301,7 @@
|
||||
/turf/simulated/floor/plasteel/airless,
|
||||
/area/ruin/ancientstation/betanorth)
|
||||
"dJ" = (
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/obj/machinery/atmospherics/portable/canister,
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/ruin/ancientstation/betanorth)
|
||||
"dK" = (
|
||||
@@ -4055,7 +4055,7 @@
|
||||
/area/ruin/ancientstation)
|
||||
"jy" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden,
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/structure/cable{
|
||||
d1 = 1;
|
||||
d2 = 2;
|
||||
@@ -4515,7 +4515,7 @@
|
||||
/obj/structure/window/reinforced{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/engine,
|
||||
/area/ruin/ancientstation/atmo)
|
||||
"kE" = (
|
||||
|
||||
@@ -712,7 +712,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/ruin/space/onehalf/drone_bay)
|
||||
"bH" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/ruin/space/onehalf/drone_bay)
|
||||
"bI" = (
|
||||
|
||||
@@ -258,7 +258,7 @@
|
||||
dir = 4;
|
||||
initialize_directions = 11
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
"cE" = (
|
||||
@@ -359,7 +359,7 @@
|
||||
/area/ruin/unpowered/syndicate_space_base/testlab)
|
||||
"dP" = (
|
||||
/obj/effect/decal/warning_stripes/yellow,
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent,
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
"dS" = (
|
||||
@@ -633,7 +633,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/portable/canister/toxins,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
"gD" = (
|
||||
@@ -706,7 +706,7 @@
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
"hB" = (
|
||||
@@ -980,7 +980,7 @@
|
||||
dir = 4;
|
||||
initialize_directions = 11
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
@@ -1065,7 +1065,7 @@
|
||||
},
|
||||
/area/ruin/unpowered/syndicate_space_base/telecomms)
|
||||
"kI" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/portable/canister/toxins,
|
||||
/obj/effect/decal/warning_stripes/yellow,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
@@ -1838,7 +1838,7 @@
|
||||
},
|
||||
/area/ruin/unpowered/syndicate_space_base/virology)
|
||||
"uz" = (
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 5;
|
||||
icon_state = "yellow"
|
||||
@@ -1928,7 +1928,7 @@
|
||||
},
|
||||
/area/ruin/unpowered/syndicate_space_base/bar)
|
||||
"vn" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
@@ -2036,7 +2036,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
"wc" = (
|
||||
@@ -2159,7 +2159,7 @@
|
||||
dir = 4;
|
||||
initialize_directions = 11
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
@@ -2244,7 +2244,7 @@
|
||||
},
|
||||
/area/ruin/unpowered/syndicate_space_base/bar)
|
||||
"xt" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air{
|
||||
/obj/machinery/atmospherics/portable/canister/air{
|
||||
anchored = 1
|
||||
},
|
||||
/turf/simulated/floor/engine/air,
|
||||
@@ -2616,7 +2616,7 @@
|
||||
},
|
||||
/area/ruin/unpowered/syndicate_space_base/bar)
|
||||
"Cr" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/yellow,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
@@ -2681,7 +2681,7 @@
|
||||
},
|
||||
/area/ruin/unpowered/syndicate_space_base/main)
|
||||
"Dv" = (
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 6;
|
||||
icon_state = "yellow"
|
||||
@@ -3122,7 +3122,7 @@
|
||||
/turf/space,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
"He" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/obj/effect/decal/warning_stripes/yellow,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 8;
|
||||
@@ -3450,7 +3450,7 @@
|
||||
/turf/simulated/floor/grass,
|
||||
/area/ruin/unpowered/syndicate_space_base/bar)
|
||||
"KH" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/yellow,
|
||||
/obj/machinery/alarm/syndicate{
|
||||
pixel_y = 24
|
||||
@@ -4363,7 +4363,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
"Vg" = (
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/portable/canister/carbon_dioxide,
|
||||
/obj/effect/decal/warning_stripes/yellow,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
@@ -4392,7 +4392,7 @@
|
||||
},
|
||||
/area/ruin/unpowered/syndicate_space_base/engineering)
|
||||
"VB" = (
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/insulated{
|
||||
dir = 4
|
||||
},
|
||||
|
||||
@@ -387,7 +387,7 @@
|
||||
dir = 1;
|
||||
on = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
@@ -506,7 +506,7 @@
|
||||
},
|
||||
/area/syndicate_depot/outer)
|
||||
"bz" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
|
||||
@@ -2122,7 +2122,7 @@
|
||||
name = "Derelict Annex"
|
||||
})
|
||||
"eX" = (
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 8
|
||||
},
|
||||
@@ -2373,7 +2373,7 @@
|
||||
name = "Derelict Annex"
|
||||
})
|
||||
"fu" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
@@ -3863,7 +3863,7 @@
|
||||
/area/ruin/space/derelict/crew_quarters)
|
||||
"iN" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "chapel"
|
||||
@@ -7929,7 +7929,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "redfull"
|
||||
},
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
/turf/simulated/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"aQ" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"aS" = (
|
||||
@@ -222,7 +222,7 @@
|
||||
/turf/simulated/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"bi" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/mineral/titanium,
|
||||
/area/shuttle/abandoned)
|
||||
"bm" = (
|
||||
|
||||
@@ -461,7 +461,7 @@
|
||||
},
|
||||
/area/ruin/space/unpowered)
|
||||
"bD" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/ruin/space/unpowered)
|
||||
"bE" = (
|
||||
|
||||
@@ -215,7 +215,7 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"aE" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"aF" = (
|
||||
@@ -290,7 +290,7 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"aP" = (
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"aQ" = (
|
||||
@@ -1659,7 +1659,7 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"eX" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/light{
|
||||
dir = 8
|
||||
},
|
||||
@@ -1667,7 +1667,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
"eY" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/southwest,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
@@ -1690,7 +1690,7 @@
|
||||
/turf/simulated/floor/mineral/titanium/blue,
|
||||
/area/awaymission/centcomAway/hangar)
|
||||
"fd" = (
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/obj/effect/decal/warning_stripes/southeast,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/centcomAway/cafe)
|
||||
@@ -2361,7 +2361,7 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/general)
|
||||
"hc" = (
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/portable/canister/carbon_dioxide,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/centcomAway/maint)
|
||||
"hd" = (
|
||||
@@ -5468,7 +5468,7 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/thunderdome)
|
||||
"oX" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge,
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 9;
|
||||
icon_state = "red"
|
||||
@@ -5517,7 +5517,7 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/thunderdome)
|
||||
"pf" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge,
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 5;
|
||||
icon_state = "green"
|
||||
@@ -5723,7 +5723,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/awaymission/centcomAway/general)
|
||||
"pH" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge,
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 10;
|
||||
icon_state = "red"
|
||||
@@ -5747,7 +5747,7 @@
|
||||
},
|
||||
/area/awaymission/centcomAway/thunderdome)
|
||||
"pL" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge,
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 6;
|
||||
icon_state = "green"
|
||||
|
||||
@@ -1007,7 +1007,7 @@
|
||||
name = "Syndicate Outpost"
|
||||
})
|
||||
"bU" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/machinery/alarm/monitor{
|
||||
pixel_y = 23;
|
||||
req_access = "150"
|
||||
@@ -1018,7 +1018,7 @@
|
||||
name = "Syndicate Outpost"
|
||||
})
|
||||
"bV" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/northeast,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaycontent/a4{
|
||||
@@ -1553,7 +1553,7 @@
|
||||
name = "Syndicate Outpost"
|
||||
})
|
||||
"cP" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/obj/effect/decal/warning_stripes/southeast,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaycontent/a4{
|
||||
@@ -2022,7 +2022,7 @@
|
||||
name = "\improper HOSTILE ATMOSPHERE AHEAD";
|
||||
pixel_y = -32
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/effect/decal/warning_stripes/southwest,
|
||||
/turf/simulated/floor/plating/airless{
|
||||
name = "plating"
|
||||
@@ -2342,7 +2342,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister,
|
||||
/obj/machinery/atmospherics/portable/canister,
|
||||
/obj/structure/alien/weeds,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/awaycontent/a2{
|
||||
@@ -4198,7 +4198,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaycontent/a7)
|
||||
"hn" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaycontent/a7)
|
||||
"ho" = (
|
||||
@@ -6967,7 +6967,7 @@
|
||||
name = "MO19 Arrivals"
|
||||
})
|
||||
"mk" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/structure/window/basic{
|
||||
dir = 1
|
||||
@@ -7390,7 +7390,7 @@
|
||||
name = "MO19 Arrivals"
|
||||
})
|
||||
"nb" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaycontent/a1{
|
||||
name = "MO19 Arrivals"
|
||||
@@ -8312,7 +8312,7 @@
|
||||
dir = 6;
|
||||
level = 1
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaycontent/a1{
|
||||
name = "MO19 Arrivals"
|
||||
|
||||
@@ -708,7 +708,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/plaza)
|
||||
"ce" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/plaza)
|
||||
"cf" = (
|
||||
@@ -875,7 +875,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
|
||||
dir = 4
|
||||
},
|
||||
@@ -1971,7 +1971,7 @@
|
||||
},
|
||||
/area/awaymission/UO71/centralhall)
|
||||
"fj" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/obj/effect/landmark/burnturf,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/gateway)
|
||||
@@ -2940,7 +2940,7 @@
|
||||
},
|
||||
/area/awaymission/UO71/gateway)
|
||||
"hz" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/gateway)
|
||||
"hA" = (
|
||||
@@ -3996,7 +3996,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/gateway)
|
||||
"kk" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/gateway)
|
||||
"kl" = (
|
||||
@@ -5593,7 +5593,7 @@
|
||||
},
|
||||
/area/awaymission/UO71/centralhall)
|
||||
"nu" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/awaymission/UO71/eng)
|
||||
@@ -6807,11 +6807,11 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/awaymission/UO71/centralhall)
|
||||
"pu" = (
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/engine/air,
|
||||
/area/awaymission/UO71/eng)
|
||||
"pv" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1443;
|
||||
id_tag = "UO71_air_sensor";
|
||||
output = 7
|
||||
@@ -7244,8 +7244,8 @@
|
||||
},
|
||||
/area/awaymission/UO71/centralhall)
|
||||
"qr" = (
|
||||
/obj/machinery/meter{
|
||||
id = "UO71_mair_out_meter";
|
||||
/obj/machinery/atmospherics/meter{
|
||||
id_tag = "UO71_mair_out_meter";
|
||||
layer = 3.3;
|
||||
name = "Mixed Air Tank Out"
|
||||
},
|
||||
@@ -7254,8 +7254,8 @@
|
||||
/area/awaymission/UO71/eng)
|
||||
"qs" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
|
||||
/obj/machinery/meter{
|
||||
id = "UO71_mair_in_meter";
|
||||
/obj/machinery/atmospherics/meter{
|
||||
id_tag = "UO71_mair_in_meter";
|
||||
layer = 3.3;
|
||||
name = "Mixed Air Tank In"
|
||||
},
|
||||
@@ -7674,7 +7674,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/yellow/hollow,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/awaymission/UO71/eng)
|
||||
@@ -8450,7 +8450,7 @@
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/obj/effect/decal/warning_stripes/west,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/science)
|
||||
@@ -8478,8 +8478,8 @@
|
||||
d2 = 2;
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/meter{
|
||||
id = "UO71_dloop_atm_meter";
|
||||
/obj/machinery/atmospherics/meter{
|
||||
id_tag = "UO71_dloop_atm_meter";
|
||||
name = "Distribution Loop"
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
@@ -8503,7 +8503,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/yellow{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/meter{
|
||||
/obj/machinery/atmospherics/meter{
|
||||
layer = 3.3
|
||||
},
|
||||
/turf/simulated/wall,
|
||||
@@ -8893,7 +8893,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/awaymission/UO71/eng)
|
||||
"tw" = (
|
||||
/obj/machinery/meter{
|
||||
/obj/machinery/atmospherics/meter{
|
||||
layer = 3.3
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/green{
|
||||
@@ -8914,7 +8914,7 @@
|
||||
},
|
||||
/area/awaymission/UO71/eng)
|
||||
"ty" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "UO71_waste_sensor";
|
||||
output = 63
|
||||
@@ -9046,7 +9046,7 @@
|
||||
dir = 4;
|
||||
layer = 2.9
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "escape"
|
||||
@@ -9054,7 +9054,7 @@
|
||||
/area/awaymission/UO71/eng)
|
||||
"tT" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/pump,
|
||||
/obj/machinery/atmospherics/portable/pump,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 1;
|
||||
icon_state = "arrival"
|
||||
@@ -9155,8 +9155,8 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/awaymission/UO71/eng)
|
||||
"ud" = (
|
||||
/obj/machinery/meter{
|
||||
id = "UO71_wloop_atm_meter";
|
||||
/obj/machinery/atmospherics/meter{
|
||||
id_tag = "UO71_wloop_atm_meter";
|
||||
name = "Waste Loop"
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/manifold/visible/purple{
|
||||
@@ -9350,7 +9350,7 @@
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/awaymission/UO71/eng)
|
||||
"uv" = (
|
||||
/obj/machinery/portable_atmospherics/scrubber,
|
||||
/obj/machinery/atmospherics/portable/scrubber,
|
||||
/obj/effect/decal/warning_stripes/southwest,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/science)
|
||||
@@ -9406,12 +9406,12 @@
|
||||
/area/awaymission/UO71/centralhall)
|
||||
"uB" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/wall,
|
||||
/area/awaymission/UO71/eng)
|
||||
"uC" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/wall,
|
||||
/area/awaymission/UO71/eng)
|
||||
"uD" = (
|
||||
@@ -9494,7 +9494,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/south,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/science)
|
||||
@@ -9535,7 +9535,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/obj/effect/decal/warning_stripes/southeast,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/awaymission/UO71/science)
|
||||
@@ -9690,14 +9690,14 @@
|
||||
/turf/simulated/wall,
|
||||
/area/awaymission/UO71/eng)
|
||||
"vg" = (
|
||||
/obj/machinery/meter{
|
||||
/obj/machinery/atmospherics/meter{
|
||||
layer = 3.3
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/green,
|
||||
/turf/simulated/wall,
|
||||
/area/awaymission/UO71/eng)
|
||||
"vh" = (
|
||||
/obj/machinery/meter{
|
||||
/obj/machinery/atmospherics/meter{
|
||||
layer = 3.3
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/cyan,
|
||||
@@ -10222,7 +10222,7 @@
|
||||
},
|
||||
/area/awaymission/UO71/eng)
|
||||
"wl" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "UO71_n2_sensor"
|
||||
},
|
||||
@@ -10230,11 +10230,11 @@
|
||||
/turf/simulated/floor/engine/n2,
|
||||
/area/awaymission/UO71/eng)
|
||||
"wm" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen,
|
||||
/turf/simulated/floor/engine/n2,
|
||||
/area/awaymission/UO71/eng)
|
||||
"wn" = (
|
||||
/obj/machinery/air_sensor{
|
||||
/obj/machinery/atmospherics/air_sensor{
|
||||
frequency = 1441;
|
||||
id_tag = "UO71_o2_sensor"
|
||||
},
|
||||
@@ -10242,7 +10242,7 @@
|
||||
/turf/simulated/floor/engine/o2,
|
||||
/area/awaymission/UO71/eng)
|
||||
"wo" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/engine/o2,
|
||||
/area/awaymission/UO71/eng)
|
||||
"wp" = (
|
||||
@@ -10498,7 +10498,7 @@
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen{
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen{
|
||||
name = "Canister: \[O2] (CRYO)"
|
||||
},
|
||||
/turf/simulated/floor/plasteel{
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1126,7 +1126,7 @@
|
||||
/area/mine/laborcamp)
|
||||
"cB" = (
|
||||
/obj/effect/decal/cleanable/cobweb2,
|
||||
/obj/machinery/portable_atmospherics/canister/air,
|
||||
/obj/machinery/atmospherics/portable/canister/air,
|
||||
/turf/simulated/floor/plating,
|
||||
/area/mine/laborcamp)
|
||||
"cC" = (
|
||||
@@ -1282,7 +1282,7 @@
|
||||
/turf/simulated/floor/plating,
|
||||
/area/mine/living_quarters)
|
||||
"cU" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-8"
|
||||
},
|
||||
@@ -1441,7 +1441,7 @@
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
|
||||
dir = 6
|
||||
},
|
||||
@@ -3629,7 +3629,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/cyan{
|
||||
dir = 6
|
||||
},
|
||||
/obj/machinery/meter,
|
||||
/obj/machinery/atmospherics/meter,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/mine/laborcamp)
|
||||
"lP" = (
|
||||
@@ -4777,7 +4777,7 @@
|
||||
dir = 4
|
||||
},
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plasteel{
|
||||
dir = 4;
|
||||
icon_state = "brown"
|
||||
|
||||
@@ -1860,7 +1860,7 @@
|
||||
/turf/simulated/floor/mineral/plastitanium/red,
|
||||
/area/shuttle/syndicate_elite)
|
||||
"he" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/mineral/plastitanium/red,
|
||||
/area/shuttle/syndicate_elite)
|
||||
"hf" = (
|
||||
@@ -3894,7 +3894,7 @@
|
||||
/turf/simulated/floor/plasteel/freezer,
|
||||
/area/syndicate_mothership)
|
||||
"nk" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen{
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen{
|
||||
name = "Canister: \[O2] (CRYO)"
|
||||
},
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
@@ -5532,7 +5532,7 @@
|
||||
/turf/simulated/floor/plating/airless,
|
||||
/area/syndicate_mothership)
|
||||
"ts" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/mineral/plastitanium/red,
|
||||
/area/shuttle/syndicate)
|
||||
"tt" = (
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
/obj/machinery/light/spot{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/mineral/plastitanium/red,
|
||||
/area/shuttle/administration)
|
||||
"vW" = (
|
||||
|
||||
@@ -584,7 +584,7 @@
|
||||
/turf/simulated/floor/mineral/titanium,
|
||||
/area/shuttle/administration)
|
||||
"ce" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen{
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen{
|
||||
name = "Canister: \[O2] (CRYO)"
|
||||
},
|
||||
/obj/machinery/atmospherics/unary/portables_connector{
|
||||
@@ -599,7 +599,7 @@
|
||||
/turf/simulated/floor/mineral/titanium,
|
||||
/area/shuttle/administration)
|
||||
"cg" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen{
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen{
|
||||
name = "Canister: \[O2] (CRYO)"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
@@ -667,7 +667,7 @@
|
||||
/turf/simulated/floor/mineral/titanium,
|
||||
/area/shuttle/administration)
|
||||
"co" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/mineral/titanium,
|
||||
/area/shuttle/administration)
|
||||
"cp" = (
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
"bY" = (
|
||||
/obj/item/tank/internals/emergency_oxygen,
|
||||
/obj/item/clothing/mask/breath,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/mineral/plastitanium/red/nitrogen,
|
||||
/area/shuttle/administration)
|
||||
"ca" = (
|
||||
@@ -425,7 +425,7 @@
|
||||
/turf/simulated/floor/mineral/plastitanium/red/nitrogen,
|
||||
/area/shuttle/administration)
|
||||
"sd" = (
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen,
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen,
|
||||
/obj/machinery/light,
|
||||
/turf/simulated/floor/mineral/plastitanium/red/nitrogen,
|
||||
/area/shuttle/administration)
|
||||
@@ -555,7 +555,7 @@
|
||||
/turf/simulated/floor/mineral/plastitanium/red/nitrogen,
|
||||
/area/shuttle/administration)
|
||||
"XB" = (
|
||||
/obj/machinery/portable_atmospherics/canister/toxins,
|
||||
/obj/machinery/atmospherics/portable/canister/toxins,
|
||||
/turf/simulated/floor/mineral/plastitanium/red/nitrogen,
|
||||
/area/shuttle/administration)
|
||||
"XK" = (
|
||||
|
||||
@@ -771,7 +771,7 @@
|
||||
name = "Station Intercom (General)";
|
||||
pixel_y = -28
|
||||
},
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/obj/machinery/light,
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/simulated/floor/plasteel{
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
/area/shuttle/escape)
|
||||
"aK" = (
|
||||
/obj/machinery/atmospherics/unary/portables_connector,
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen{
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen{
|
||||
name = "Canister: \[O2] (CRYO)"
|
||||
},
|
||||
/obj/item/wrench,
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
name = "Shuttle"
|
||||
})
|
||||
"F" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plasteel{
|
||||
icon_state = "dark"
|
||||
},
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
name = "Shuttle"
|
||||
})
|
||||
"z" = (
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen,
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen,
|
||||
/turf/simulated/floor/plasteel,
|
||||
/area/ruin/powered{
|
||||
name = "Shuttle"
|
||||
|
||||
@@ -72,3 +72,9 @@
|
||||
|
||||
#define PIPETYPE_ATMOS 1
|
||||
#define PIPETYPE_DISPOSAL 2
|
||||
|
||||
// Connection types
|
||||
|
||||
#define CONNECT_TYPE_NORMAL 1
|
||||
#define CONNECT_TYPE_SUPPLY 2
|
||||
#define CONNECT_TYPE_SCRUBBER 3
|
||||
|
||||
@@ -1733,8 +1733,8 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
|
||||
/obj/machinery/door/airlock = "AIRLOCK",
|
||||
/obj/machinery/door = "DOOR",
|
||||
/obj/machinery/kitchen_machine = "KITCHEN",
|
||||
/obj/machinery/portable_atmospherics/canister = "CANISTER",
|
||||
/obj/machinery/portable_atmospherics = "PORT_ATMOS",
|
||||
/obj/machinery/atmospherics/portable/canister = "CANISTER",
|
||||
/obj/machinery/atmospherics/portable = "PORT_ATMOS",
|
||||
/obj/machinery/power = "POWER",
|
||||
/obj/machinery = "MACHINERY",
|
||||
/obj/mecha = "MECHA",
|
||||
|
||||
@@ -196,7 +196,7 @@ SUBSYSTEM_DEF(air)
|
||||
//cache for sanic speed (lists are references anyways)
|
||||
var/list/currentrun = src.currentrun
|
||||
while(currentrun.len)
|
||||
var/obj/machinery/M = currentrun[currentrun.len]
|
||||
var/obj/machinery/atmospherics/M = currentrun[currentrun.len]
|
||||
currentrun.len--
|
||||
if(!M || (M.process_atmos(seconds) == PROCESS_KILL))
|
||||
atmos_machinery.Remove(M)
|
||||
|
||||
@@ -87,8 +87,8 @@
|
||||
break
|
||||
|
||||
else
|
||||
if(istype(item_to_retrieve.loc,/obj/machinery/portable_atmospherics/)) //Edge cases for moved machinery
|
||||
var/obj/machinery/portable_atmospherics/P = item_to_retrieve.loc
|
||||
if(istype(item_to_retrieve.loc,/obj/machinery/atmospherics/portable/)) //Edge cases for moved machinery
|
||||
var/obj/machinery/atmospherics/portable/P = item_to_retrieve.loc
|
||||
P.disconnect()
|
||||
P.update_icon()
|
||||
if(is_type_in_typecache(item_to_retrieve.loc, blacklisted_summons))
|
||||
|
||||
@@ -719,7 +719,7 @@ GLOBAL_LIST_INIT(all_supply_groups, list(SUPPLY_EMERGENCY,SUPPLY_SECURITY,SUPPLY
|
||||
|
||||
/datum/supply_packs/engineering/engine/supermatter_shard
|
||||
name = "Supermatter Shard Crate"
|
||||
contains = list(/obj/machinery/power/supermatter_crystal/shard)
|
||||
contains = list(/obj/machinery/atmospherics/supermatter_crystal/shard)
|
||||
cost = 50 //So cargo thinks twice before killing themselves with it
|
||||
containertype = /obj/structure/closet/crate/secure/engineering
|
||||
containername = "supermatter shard crate"
|
||||
|
||||
@@ -342,7 +342,7 @@
|
||||
to_chat(S, "<span class='warning'>Disrupting the power grid would bring no benefit to us. Aborting.</span>")
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
|
||||
/obj/machinery/atmospherics/portable/canister/swarmer_act(mob/living/simple_animal/hostile/swarmer/S)
|
||||
to_chat(S, "<span class='warning'>An inhospitable area may be created as a result of destroying this object. Aborting.</span>")
|
||||
return FALSE
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/machinery/air_sensor
|
||||
/obj/machinery/atmospherics/air_sensor
|
||||
icon = 'icons/obj/stationobjs.dmi'
|
||||
icon_state = "gsensor1"
|
||||
resistance_flags = FIRE_PROOF
|
||||
@@ -14,7 +14,7 @@
|
||||
Mtoollink = TRUE
|
||||
settagwhitelist = list("id_tag")
|
||||
|
||||
var/on = TRUE
|
||||
on = TRUE
|
||||
var/output = 3
|
||||
//Flags:
|
||||
// 1 for pressure
|
||||
@@ -25,10 +25,10 @@
|
||||
// 16 for nitrogen concentration
|
||||
// 32 for carbon dioxide concentration
|
||||
|
||||
/obj/machinery/air_sensor/update_icon_state()
|
||||
/obj/machinery/atmospherics/air_sensor/update_icon_state()
|
||||
icon_state = "gsensor[on]"
|
||||
|
||||
/obj/machinery/air_sensor/multitool_menu(mob/user, obj/item/multitool/P)
|
||||
/obj/machinery/atmospherics/air_sensor/multitool_menu(mob/user, obj/item/multitool/P)
|
||||
return {"
|
||||
<b>Main</b>
|
||||
<ul>
|
||||
@@ -43,7 +43,7 @@
|
||||
<li>Monitor Carbon Dioxide Concentration: <a href="?src=[UID()];toggle_out_flag=32">[output&32 ? "Yes" : "No"]</a>
|
||||
</ul>"}
|
||||
|
||||
/obj/machinery/air_sensor/multitool_topic(mob/user, list/href_list, obj/O)
|
||||
/obj/machinery/atmospherics/air_sensor/multitool_topic(mob/user, list/href_list, obj/O)
|
||||
. = ..()
|
||||
if(.)
|
||||
return .
|
||||
@@ -57,33 +57,40 @@
|
||||
else//can't not be off
|
||||
output |= bitflag_value
|
||||
return TRUE
|
||||
|
||||
if("toggle_bolts" in href_list)
|
||||
bolts = !bolts
|
||||
visible_message("<span class='notice'>You hear a quiet click as [src][bolts ? " bolts to the floor" : "'s bolts raise"].</span>", "<span class='notice>You hear a quiet click.</span>")
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/air_sensor/attackby(obj/item/W as obj, mob/user as mob)
|
||||
/obj/machinery/atmospherics/air_sensor/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/multitool))
|
||||
update_multitool_menu(user)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
if(istype(W, /obj/item/wrench))
|
||||
if(bolts)
|
||||
to_chat(usr, "[src] is bolted to the floor! You can't detach it like this.")
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
playsound(loc, W.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You begin to unfasten \the [src]...</span>")
|
||||
|
||||
if(do_after(user, 40 * W.toolspeed, target = src))
|
||||
user.visible_message("[user] unfastens \the [src].", "<span class='notice'>You have unfastened \the [src].</span>", "You hear ratchet.")
|
||||
new /obj/item/pipe_gsensor(src.loc)
|
||||
qdel(src)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/machinery/air_sensor/process_atmos()
|
||||
/obj/machinery/atmospherics/air_sensor/process_atmos()
|
||||
if(on)
|
||||
if(!radio_connection)
|
||||
return
|
||||
|
||||
var/datum/signal/signal = new
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.data["tag"] = id_tag
|
||||
@@ -91,21 +98,21 @@
|
||||
|
||||
var/datum/gas_mixture/air_sample = return_air()
|
||||
|
||||
if(output&1)
|
||||
if(output & 1)
|
||||
signal.data["pressure"] = num2text(round(air_sample.return_pressure(),0.1),)
|
||||
if(output&2)
|
||||
if(output & 2)
|
||||
signal.data["temperature"] = round(air_sample.temperature,0.1)
|
||||
|
||||
if(output>4)
|
||||
if(output > 4)
|
||||
var/total_moles = air_sample.total_moles()
|
||||
if(total_moles > 0)
|
||||
if(output&4)
|
||||
if(output & 4)
|
||||
signal.data["oxygen"] = round(100*air_sample.oxygen/total_moles,0.1)
|
||||
if(output&8)
|
||||
if(output & 8)
|
||||
signal.data["toxins"] = round(100*air_sample.toxins/total_moles,0.1)
|
||||
if(output&16)
|
||||
if(output & 16)
|
||||
signal.data["nitrogen"] = round(100*air_sample.nitrogen/total_moles,0.1)
|
||||
if(output&32)
|
||||
if(output & 32)
|
||||
signal.data["carbon_dioxide"] = round(100*air_sample.carbon_dioxide/total_moles,0.1)
|
||||
else
|
||||
signal.data["oxygen"] = 0
|
||||
@@ -115,20 +122,19 @@
|
||||
signal.data["sigtype"]="status"
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
/obj/machinery/air_sensor/set_frequency(new_frequency)
|
||||
/obj/machinery/atmospherics/air_sensor/set_frequency(new_frequency)
|
||||
SSradio.remove_object(src, frequency)
|
||||
frequency = new_frequency
|
||||
radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA)
|
||||
|
||||
/obj/machinery/air_sensor/Initialize()
|
||||
..()
|
||||
SSair.atmos_machinery += src
|
||||
/obj/machinery/atmospherics/air_sensor/Initialize(mapload)
|
||||
. = ..()
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/air_sensor/Destroy()
|
||||
SSair.atmos_machinery -= src
|
||||
/obj/machinery/atmospherics/air_sensor/Destroy()
|
||||
if(SSradio)
|
||||
SSradio.remove_object(src, frequency)
|
||||
|
||||
radio_connection = null
|
||||
return ..()
|
||||
|
||||
@@ -152,30 +158,34 @@
|
||||
/obj/machinery/computer/general_air_control/Destroy()
|
||||
if(SSradio)
|
||||
SSradio.remove_object(src, frequency)
|
||||
|
||||
radio_connection = null
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/general_air_control/attack_hand(mob/user)
|
||||
if(..(user))
|
||||
return
|
||||
var/html=return_text()
|
||||
|
||||
var/datum/browser/popup = new(user, "gac", name, 400, 400)
|
||||
popup.set_content(html)
|
||||
popup.open(0)
|
||||
popup.set_content(return_text())
|
||||
popup.open(FALSE)
|
||||
user.set_machine(src)
|
||||
onclose(user, "gac")
|
||||
|
||||
/obj/machinery/computer/general_air_control/process()
|
||||
..()
|
||||
|
||||
if(!sensors)
|
||||
//warning("[src.type] at [x],[y],[z] has null sensors. Please fix.")//commenting this line out because the admins will get a warning like this every time somebody builds another GAC
|
||||
sensors = list()
|
||||
src.updateUsrDialog()
|
||||
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/machinery/computer/general_air_control/attackby(I as obj, user as mob, params)
|
||||
if(istype(I, /obj/item/multitool))
|
||||
update_multitool_menu(user)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -183,14 +193,15 @@
|
||||
if(!signal || signal.encryption) return
|
||||
|
||||
var/id_tag = signal.data["tag"]
|
||||
if(!id_tag || !sensors || !sensors.Find(id_tag)) return
|
||||
if(!id_tag || !sensors || !sensors.Find(id_tag))
|
||||
return
|
||||
|
||||
sensor_information[id_tag] = signal.data
|
||||
|
||||
/obj/machinery/computer/general_air_control/proc/return_text()
|
||||
var/sensor_data
|
||||
if(show_sensors)
|
||||
if(sensors.len)
|
||||
if(length(sensors))
|
||||
for(var/id_tag in sensors)
|
||||
var/long_name = sensors[id_tag]
|
||||
var/list/data = sensor_information[id_tag]
|
||||
@@ -200,18 +211,24 @@
|
||||
sensor_part += "<table>"
|
||||
if(data["pressure"])
|
||||
sensor_part += "<tr><th>Pressure:</th><td>[data["pressure"]] kPa</td></tr>"
|
||||
|
||||
if(data["temperature"])
|
||||
sensor_part += "<tr><th>Temperature:</th><td>[data["temperature"]] K</td></tr>"
|
||||
|
||||
if(data["oxygen"]||data["toxins"]||data["nitrogen"]||data["carbon_dioxide"])
|
||||
sensor_part += "<tr><th>Gas Composition :</th><td><ul>"
|
||||
if(data["oxygen"])
|
||||
sensor_part += "<li>[data["oxygen"]]% O<sub>2</sub></li>"
|
||||
|
||||
if(data["nitrogen"])
|
||||
sensor_part += "<li>[data["nitrogen"]]% N</li>"
|
||||
|
||||
if(data["carbon_dioxide"])
|
||||
sensor_part += "<li>[data["carbon_dioxide"]]% CO<sub>2</sub></li>"
|
||||
|
||||
if(data["toxins"])
|
||||
sensor_part += "<li>[data["toxins"]]% Plasma</li>"
|
||||
|
||||
sensor_part += "</ul></td></tr>"
|
||||
sensor_part += "</table>"
|
||||
|
||||
@@ -266,8 +283,8 @@
|
||||
frequency = new_frequency
|
||||
radio_connection = SSradio.add_object(src, frequency, RADIO_ATMOSIA)
|
||||
|
||||
/obj/machinery/computer/general_air_control/Initialize()
|
||||
..()
|
||||
/obj/machinery/computer/general_air_control/Initialize(mapload)
|
||||
. = ..()
|
||||
set_frequency(frequency)
|
||||
|
||||
/obj/machinery/computer/general_air_control/multitool_menu(mob/user, obj/item/multitool/P)
|
||||
@@ -285,15 +302,18 @@
|
||||
|
||||
/obj/machinery/computer/general_air_control/multitool_topic(mob/user,list/href_list,obj/O)
|
||||
. = ..()
|
||||
if(.) return .
|
||||
if("add_sensor" in href_list)
|
||||
if(.)
|
||||
return
|
||||
|
||||
if("add_sensor" in href_list)
|
||||
// Make a list of all available sensors on the same frequency
|
||||
var/list/sensor_list = list()
|
||||
for(var/obj/machinery/air_sensor/G in GLOB.machines)
|
||||
|
||||
for(var/obj/machinery/atmospherics/air_sensor/G in GLOB.machines)
|
||||
if(!isnull(G.id_tag) && G.frequency == frequency)
|
||||
sensor_list|=G.id_tag
|
||||
if(!sensor_list.len)
|
||||
sensor_list |= G.id_tag
|
||||
|
||||
if(!length(sensor_list))
|
||||
to_chat(user, "<span class=\"warning\">No sensors on this frequency.</span>")
|
||||
return FALSE
|
||||
|
||||
@@ -301,6 +321,7 @@
|
||||
var/sensor = input(user, "Select a sensor:", "Sensor Data") as null|anything in sensor_list
|
||||
if(!sensor)
|
||||
return FALSE
|
||||
|
||||
var/label = reject_bad_name( input(user, "Choose a sensor label:", "Sensor Label") as text|null, allow_numbers=1)
|
||||
if(!label)
|
||||
return FALSE
|
||||
@@ -311,48 +332,54 @@
|
||||
|
||||
if("edit_sensor" in href_list)
|
||||
var/list/sensor_list = list()
|
||||
for(var/obj/machinery/air_sensor/G in GLOB.machines)
|
||||
|
||||
for(var/obj/machinery/atmospherics/air_sensor/G in GLOB.machines)
|
||||
if(!isnull(G.id_tag) && G.frequency == frequency)
|
||||
sensor_list|=G.id_tag
|
||||
if(!sensor_list.len)
|
||||
sensor_list |= G.id_tag
|
||||
|
||||
if(!length(sensor_list))
|
||||
to_chat(user, "<span class=\"warning\">No sensors on this frequency.</span>")
|
||||
return FALSE
|
||||
|
||||
var/label = sensors[href_list["edit_sensor"]]
|
||||
var/sensor = input(user, "Select a sensor:", "Sensor Data", href_list["edit_sensor"]) as null|anything in sensor_list
|
||||
if(!sensor)
|
||||
return FALSE
|
||||
|
||||
sensors.Remove(href_list["edit_sensor"])
|
||||
sensors[sensor] = label
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/computer/general_air_control/unlinkFrom(mob/user, obj/O)
|
||||
..()
|
||||
if("id_tag" in O.vars && (istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter)))
|
||||
|
||||
if("id_tag" in O.vars && (istype(O,/obj/machinery/atmospherics/air_sensor) || istype(O, /obj/machinery/atmospherics/meter)))
|
||||
sensors.Remove(O:id_tag)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/computer/general_air_control/linkMenu(obj/O)
|
||||
if(isLinkedWith(O))
|
||||
return
|
||||
|
||||
var/dat=""
|
||||
var/dat = ""
|
||||
|
||||
if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
|
||||
if(istype(O, /obj/machinery/atmospherics/air_sensor) || istype(O, /obj/machinery/atmospherics/meter))
|
||||
dat += " <a href='?src=[UID()];link=1'>\[New Sensor\]</a> "
|
||||
return dat
|
||||
|
||||
/obj/machinery/computer/general_air_control/canLink(obj/O, list/context)
|
||||
if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
|
||||
if(istype(O, /obj/machinery/atmospherics/air_sensor) || istype(O, /obj/machinery/atmospherics/meter))
|
||||
return O:id_tag
|
||||
|
||||
/obj/machinery/computer/general_air_control/isLinkedWith(obj/O)
|
||||
if(istype(O,/obj/machinery/air_sensor) || istype(O, /obj/machinery/meter))
|
||||
if(istype(O, /obj/machinery/atmospherics/air_sensor) || istype(O, /obj/machinery/atmospherics/meter))
|
||||
return O:id_tag in sensors
|
||||
|
||||
/obj/machinery/computer/general_air_control/linkWith(mob/user, obj/O, context)
|
||||
sensors[O:id_tag] = reject_bad_name(clean_input(user, "Choose a sensor label:", "Sensor Label"), allow_numbers=1)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/computer/general_air_control/large_tank_control
|
||||
circuit = /obj/item/circuitboard/large_tank_control
|
||||
@@ -379,7 +406,8 @@
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/attackby(I as obj, user as mob)
|
||||
if(istype(I, /obj/item/multitool))
|
||||
update_multitool_menu(user)
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -392,8 +420,10 @@
|
||||
</ul>
|
||||
<b>Sensors:</b>
|
||||
<ul>"}
|
||||
|
||||
for(var/id_tag in sensors)
|
||||
dat += {"<li><a href="?src=[UID()];edit_sensor=[id_tag]">[sensors[id_tag]]</a></li>"}
|
||||
|
||||
dat += {"<li><a href="?src=[UID()];add_sensor=1">\[+\]</a></li></ul>"}
|
||||
return dat
|
||||
|
||||
@@ -425,35 +455,41 @@
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/unlinkFrom(mob/user, obj/O)
|
||||
if("id_tag" in O.vars)
|
||||
if(O:id_tag == input_tag)
|
||||
input_tag=null
|
||||
input_info=null
|
||||
return 1
|
||||
input_tag = null
|
||||
input_info = null
|
||||
return TRUE
|
||||
|
||||
if(O:id_tag == output_tag)
|
||||
output_tag=null
|
||||
output_info=null
|
||||
return 1
|
||||
return 0
|
||||
output_tag = null
|
||||
output_info = null
|
||||
return TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/linkMenu(obj/O)
|
||||
var/dat=""
|
||||
if(canLink(O,list("slot"="input")))
|
||||
var/dat = ""
|
||||
if(canLink(O, list("slot"="input")))
|
||||
dat += " <a href='?src=[UID()];link=1;slot=input'>\[Link @ Input\]</a> "
|
||||
if(canLink(O,list("slot"="output")))
|
||||
|
||||
if(canLink(O, list("slot"="output")))
|
||||
dat += " <a href='?src=[UID()];link=1;slot=output'>\[Link @ Output\]</a> "
|
||||
|
||||
return dat
|
||||
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/canLink(obj/O, list/context)
|
||||
return (context["slot"]=="input" && is_type_in_list(O,input_linkable)) || (context["slot"]=="output" && is_type_in_list(O,output_linkable))
|
||||
return (context["slot"] == "input" && is_type_in_list(O,input_linkable)) || (context["slot"] == "output" && is_type_in_list(O,output_linkable))
|
||||
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/isLinkedWith(obj/O)
|
||||
if(O:id_tag == input_tag)
|
||||
return 1
|
||||
return TRUE
|
||||
if(O:id_tag == output_tag)
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/process()
|
||||
..()
|
||||
|
||||
if(!input_info && input_tag)
|
||||
request_device_refresh(input_tag)
|
||||
if(!output_info && output_tag)
|
||||
@@ -486,6 +522,7 @@
|
||||
"}
|
||||
else
|
||||
output += "<FONT color='red'>ERROR: Can not find input port</FONT> <A href='?src=[UID()];in_refresh_status=1'>Search</A><BR>"
|
||||
|
||||
if(output_tag)
|
||||
if(output_info)
|
||||
var/power = (output_info["power"])
|
||||
@@ -518,28 +555,31 @@
|
||||
if(input_tag == id_tag)
|
||||
input_info = signal.data
|
||||
updateUsrDialog()
|
||||
|
||||
else if(output_tag == id_tag)
|
||||
output_info = signal.data
|
||||
updateUsrDialog()
|
||||
|
||||
else
|
||||
..(signal)
|
||||
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/proc/request_device_refresh(device)
|
||||
send_signal(list("tag"=device, "status"))
|
||||
send_signal(list("tag" = device, "status"))
|
||||
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/proc/send_signal(list/data)
|
||||
if(!radio_connection)
|
||||
return
|
||||
|
||||
var/datum/signal/signal = new
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
signal.data=data
|
||||
signal.data["sigtype"]="command"
|
||||
signal.data["sigtype"] = "command"
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
/obj/machinery/computer/general_air_control/large_tank_control/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
add_fingerprint(usr)
|
||||
|
||||
@@ -549,10 +589,12 @@
|
||||
pressure_setting = clamp(pressure_setting, 0, 50*ONE_ATMOSPHERE)
|
||||
|
||||
if(!radio_connection)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
var/datum/signal/signal = new
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
|
||||
if(href_list["in_refresh_status"])
|
||||
input_info = null
|
||||
signal.data = list ("tag" = input_tag, "status" = 1)
|
||||
@@ -578,165 +620,11 @@
|
||||
|
||||
signal.data["sigtype"] = "command"
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
src.updateUsrDialog()
|
||||
updateUsrDialog()
|
||||
|
||||
/obj/machinery/computer/general_air_control/fuel_injection
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
icon_screen = "atmos"
|
||||
circuit = /obj/item/circuitboard/injector_control
|
||||
|
||||
var/device_tag
|
||||
var/list/device_info
|
||||
|
||||
var/automation = 0
|
||||
|
||||
var/cutoff_temperature = 2000
|
||||
var/on_temperature = 1200
|
||||
|
||||
/obj/machinery/computer/general_air_control/fuel_injection/attackby(I as obj, user as mob, params)
|
||||
if(istype(I, /obj/item/multitool))
|
||||
update_multitool_menu(user)
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
/obj/machinery/computer/general_air_control/fuel_injection/process()
|
||||
if(automation)
|
||||
if(!radio_connection)
|
||||
return 0
|
||||
|
||||
var/injecting = FALSE
|
||||
for(var/id_tag in sensor_information)
|
||||
var/list/data = sensor_information[id_tag]
|
||||
if(data["temperature"])
|
||||
if(data["temperature"] >= cutoff_temperature)
|
||||
injecting = FALSE
|
||||
break
|
||||
if(data["temperature"] <= on_temperature)
|
||||
injecting = TRUE
|
||||
|
||||
var/datum/signal/signal = new
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
|
||||
signal.data = list(
|
||||
"tag" = device_tag,
|
||||
"power" = injecting,
|
||||
"sigtype"="command"
|
||||
)
|
||||
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
..()
|
||||
|
||||
/obj/machinery/computer/general_air_control/fuel_injection/return_text()
|
||||
var/output = ..()
|
||||
output += "<fieldset><legend>Fuel Injection System (<A href='?src=[UID()];refresh_status=1'>Refresh</A>)</legend>"
|
||||
if(device_info)
|
||||
var/power = device_info["power"]
|
||||
var/volume_rate = device_info["volume_rate"]
|
||||
output += {"<table>
|
||||
<tr>
|
||||
<th>Status:</th>
|
||||
<td>[power?"Injecting":"On Hold"]</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Rate:</th>
|
||||
<td>[volume_rate] L/sec</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Automated Fuel Injection:</th>
|
||||
<td><A href='?src=[UID()];toggle_automation=1'>[automation?"Engaged":"Disengaged"]</A></td>
|
||||
</tr>"}
|
||||
|
||||
if(automation)
|
||||
|
||||
// AUTOFIXED BY fix_string_idiocy.py
|
||||
// C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:372: output += "Automated Fuel Injection: <A href='?src=[UID()];toggle_automation=1'>Engaged</A><BR>"
|
||||
output += {"
|
||||
<tr>
|
||||
<td colspan="2">Injector Controls Locked Out</td>
|
||||
</tr>"}
|
||||
// END AUTOFIX
|
||||
else
|
||||
|
||||
// AUTOFIXED BY fix_string_idiocy.py
|
||||
// C:\Users\Rob\Documents\Projects\vgstation13\code\game\machinery\atmo_control.dm:375: output += "Automated Fuel Injection: <A href='?src=[UID()];toggle_automation=1'>Disengaged</A><BR>"
|
||||
output += {"
|
||||
<tr>
|
||||
<th>Injector:</th>
|
||||
<td><A href='?src=[UID()];toggle_injector=1'>Toggle Power</A> <A href='?src=[UID()];injection=1'>Inject (1 Cycle)</A></td>
|
||||
</td>"}
|
||||
// END AUTOFIX
|
||||
output += "</table>"
|
||||
else
|
||||
output += {"<p style="color:red"><b>ERROR:</b> Can not find device. <A href='?src=[UID()];refresh_status=1'>Search</A></p>"}
|
||||
output += "</fieldset>"
|
||||
|
||||
return output
|
||||
|
||||
/obj/machinery/computer/general_air_control/fuel_injection/receive_signal(datum/signal/signal)
|
||||
if(!signal || signal.encryption) return
|
||||
|
||||
var/id_tag = signal.data["tag"]
|
||||
|
||||
if(device_tag == id_tag)
|
||||
device_info = signal.data
|
||||
else
|
||||
..(signal)
|
||||
|
||||
/obj/machinery/computer/general_air_control/fuel_injection/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
|
||||
if(href_list["refresh_status"])
|
||||
device_info = null
|
||||
if(!radio_connection)
|
||||
return 0
|
||||
|
||||
var/datum/signal/signal = new
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
signal.data = list(
|
||||
"tag" = device_tag,
|
||||
"status",
|
||||
"sigtype"="command"
|
||||
)
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["toggle_automation"])
|
||||
automation = !automation
|
||||
|
||||
if(href_list["toggle_injector"])
|
||||
device_info = null
|
||||
if(!radio_connection)
|
||||
return 0
|
||||
|
||||
var/datum/signal/signal = new
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
signal.data = list(
|
||||
"tag" = device_tag,
|
||||
"power_toggle",
|
||||
"sigtype"="command"
|
||||
)
|
||||
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
if(href_list["injection"])
|
||||
if(!radio_connection)
|
||||
return 0
|
||||
|
||||
var/datum/signal/signal = new
|
||||
signal.transmission_method = 1 //radio signal
|
||||
signal.source = src
|
||||
signal.data = list(
|
||||
"tag" = device_tag,
|
||||
"inject",
|
||||
"sigtype"="command"
|
||||
)
|
||||
|
||||
radio_connection.post_signal(src, signal, filter = RADIO_ATMOSIA)
|
||||
|
||||
// Central atmos control //
|
||||
/obj/machinery/computer/atmoscontrol
|
||||
name = "\improper central atmospherics computer"
|
||||
icon = 'icons/obj/computer.dmi'
|
||||
@@ -747,7 +635,7 @@
|
||||
req_access = list(ACCESS_ATMOSPHERICS)
|
||||
var/datum/ui_module/atmos_control/atmos_control
|
||||
|
||||
/obj/machinery/computer/atmoscontrol/Initialize()
|
||||
/obj/machinery/computer/atmoscontrol/Initialize(mapload)
|
||||
. = ..()
|
||||
atmos_control = new(src)
|
||||
|
||||
|
||||
@@ -175,10 +175,6 @@
|
||||
board_name = "Atmospheric Monitor"
|
||||
build_path = /obj/machinery/computer/general_air_control
|
||||
|
||||
/obj/item/circuitboard/injector_control
|
||||
board_name = "Injector Control"
|
||||
build_path = /obj/machinery/computer/general_air_control/fuel_injection
|
||||
|
||||
/obj/item/circuitboard/robotics
|
||||
board_name = "Robotics Control Console"
|
||||
build_path = /obj/machinery/computer/robotics
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
var/force_no_power_icon_state = FALSE
|
||||
|
||||
/obj/machinery/computer/Initialize()
|
||||
..()
|
||||
. = ..()
|
||||
power_change()
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
/// Last status of the active supermatter for caching purposes
|
||||
var/last_status
|
||||
/// Reference to the active shard
|
||||
var/obj/machinery/power/supermatter_crystal/active
|
||||
var/obj/machinery/atmospherics/supermatter_crystal/active
|
||||
|
||||
/obj/machinery/computer/sm_monitor/Destroy()
|
||||
active = null
|
||||
@@ -72,7 +72,7 @@
|
||||
else
|
||||
var/list/SMS = list()
|
||||
for(var/I in supermatters)
|
||||
var/obj/machinery/power/supermatter_crystal/S = I
|
||||
var/obj/machinery/atmospherics/supermatter_crystal/S = I
|
||||
var/area/A = get_area(S)
|
||||
if(!A)
|
||||
continue
|
||||
@@ -98,7 +98,7 @@
|
||||
var/turf/T = get_turf(ui_host()) // Get the UI host incase this ever turned into a supermatter monitoring module for AIs to use or something
|
||||
if(!T)
|
||||
return
|
||||
for(var/obj/machinery/power/supermatter_crystal/S in SSair.atmos_machinery)
|
||||
for(var/obj/machinery/atmospherics/supermatter_crystal/S in SSair.atmos_machinery)
|
||||
// Delaminating, not within coverage, not on a tile.
|
||||
if(!(is_station_level(S.z) || is_mining_level(S.z) || atoms_share_level(S, T) || !istype(S.loc, /turf/simulated/)))
|
||||
continue
|
||||
@@ -137,7 +137,7 @@
|
||||
|
||||
if("view")
|
||||
var/newuid = text2num(params["view"])
|
||||
for(var/obj/machinery/power/supermatter_crystal/S in supermatters)
|
||||
for(var/obj/machinery/atmospherics/supermatter_crystal/S in supermatters)
|
||||
if(S.supermatter_id == newuid)
|
||||
active = S
|
||||
break
|
||||
|
||||
@@ -132,25 +132,27 @@ th.cost.toomuch {background:maroon;}
|
||||
|
||||
/obj/machinery/computer/merch/Topic(href, href_list)
|
||||
if(..())
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
//testing(href)
|
||||
|
||||
src.add_fingerprint(usr)
|
||||
add_fingerprint(usr)
|
||||
|
||||
if(href_list["buy"])
|
||||
var/itemID = text2num(href_list["buy"])
|
||||
var/datum/storeitem/item = GLOB.centcomm_store.items[itemID]
|
||||
var/sure = alert(usr,"Are you sure you wish to purchase [item.name] for $[item.cost]?","You sure?","Yes","No") in list("Yes","No")
|
||||
var/sure = alert(usr, "Are you sure you wish to purchase [item.name] for $[item.cost]?", "You sure?", "Yes", "No") in list("Yes", "No")
|
||||
|
||||
if(!Adjacent(usr))
|
||||
to_chat(usr, "<span class='warning'>You are not close enough to do that.</span>")
|
||||
return
|
||||
if(sure=="No")
|
||||
|
||||
if(sure == "No")
|
||||
updateUsrDialog()
|
||||
return
|
||||
if(!GLOB.centcomm_store.PlaceOrder(usr,itemID))
|
||||
|
||||
if(!GLOB.centcomm_store.PlaceOrder(usr, itemID))
|
||||
to_chat(usr, "<span class='warning'>Unable to charge your account.</span>")
|
||||
else
|
||||
to_chat(usr, "<span class='notice'>You've successfully purchased the item. It should be in your hands or on the floor.</span>")
|
||||
src.updateUsrDialog()
|
||||
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
@@ -124,6 +124,7 @@ Class Procs:
|
||||
var/datum/radio_frequency/radio_connection
|
||||
/// This is if the machinery is being repaired
|
||||
var/being_repaired = FALSE
|
||||
armor = list(melee = 25, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70)
|
||||
|
||||
/*
|
||||
* reimp, attempts to flicker this machinery if the behavior is supported.
|
||||
@@ -139,13 +140,13 @@ Class Procs:
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/Initialize(mapload)
|
||||
if(!armor)
|
||||
armor = list(melee = 25, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 0, rad = 0, fire = 50, acid = 70)
|
||||
. = ..()
|
||||
|
||||
GLOB.machines += src
|
||||
|
||||
if(use_power)
|
||||
myArea = get_area(src)
|
||||
|
||||
if(!speed_process)
|
||||
START_PROCESSING(SSmachines, src)
|
||||
else
|
||||
@@ -188,9 +189,6 @@ Class Procs:
|
||||
/obj/machinery/process() // If you dont use process or power why are you here
|
||||
return PROCESS_KILL
|
||||
|
||||
/obj/machinery/proc/process_atmos() //If you dont use process why are you here
|
||||
return PROCESS_KILL
|
||||
|
||||
/obj/machinery/emp_act(severity)
|
||||
if(use_power && !stat)
|
||||
use_power(7500/severity)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
name = "pipe"
|
||||
var/pipe_type = 0
|
||||
var/pipename
|
||||
var/connect_types[] = list(1) //1=regular, 2=supply, 3=scrubber
|
||||
var/list/connect_types = list(CONNECT_TYPE_NORMAL) //1=regular, 2=supply, 3=scrubber
|
||||
force = 7
|
||||
icon = 'icons/obj/pipe-item.dmi'
|
||||
icon_state = "simple"
|
||||
@@ -14,126 +14,159 @@
|
||||
level = 2
|
||||
var/flipped = FALSE
|
||||
|
||||
/obj/item/pipe/New(loc, pipe_type, dir, obj/machinery/atmospherics/make_from)
|
||||
..()
|
||||
/obj/item/pipe/Initialize(mapload, new_pipe_type, new_dir, obj/machinery/atmospherics/make_from)
|
||||
. = ..()
|
||||
if(make_from)
|
||||
src.dir = make_from.dir
|
||||
src.pipename = make_from.name
|
||||
dir = make_from.dir
|
||||
pipename = make_from.name
|
||||
color = make_from.pipe_color
|
||||
var/is_bent
|
||||
|
||||
if(make_from.initialize_directions in list(NORTH|SOUTH, WEST|EAST))
|
||||
is_bent = 0
|
||||
is_bent = FALSE
|
||||
else
|
||||
is_bent = 1
|
||||
is_bent = TRUE
|
||||
|
||||
|
||||
if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction))
|
||||
src.pipe_type = PIPE_JUNCTION
|
||||
pipe_type = PIPE_JUNCTION
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging))
|
||||
src.pipe_type = PIPE_HE_STRAIGHT + is_bent
|
||||
pipe_type = PIPE_HE_STRAIGHT + is_bent
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/insulated))
|
||||
src.pipe_type = PIPE_INSULATED_STRAIGHT + is_bent
|
||||
pipe_type = PIPE_INSULATED_STRAIGHT + is_bent
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/supply))
|
||||
src.pipe_type = PIPE_SUPPLY_STRAIGHT + is_bent
|
||||
connect_types = list(2)
|
||||
src.color = PIPE_COLOR_BLUE
|
||||
pipe_type = PIPE_SUPPLY_STRAIGHT + is_bent
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
color = PIPE_COLOR_BLUE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/scrubbers) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers))
|
||||
src.pipe_type = PIPE_SCRUBBERS_STRAIGHT + is_bent
|
||||
connect_types = list(3)
|
||||
src.color = PIPE_COLOR_RED
|
||||
pipe_type = PIPE_SCRUBBERS_STRAIGHT + is_bent
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
color = PIPE_COLOR_RED
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/visible/universal) || istype(make_from, /obj/machinery/atmospherics/pipe/simple/hidden/universal))
|
||||
src.pipe_type = PIPE_UNIVERSAL
|
||||
connect_types = list(1,2,3)
|
||||
pipe_type = PIPE_UNIVERSAL
|
||||
connect_types = list(CONNECT_TYPE_NORMAL, CONNECT_TYPE_SUPPLY, CONNECT_TYPE_SCRUBBER)
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/simple))
|
||||
src.pipe_type = PIPE_SIMPLE_STRAIGHT + is_bent
|
||||
pipe_type = PIPE_SIMPLE_STRAIGHT + is_bent
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/portables_connector))
|
||||
src.pipe_type = PIPE_CONNECTOR
|
||||
pipe_type = PIPE_CONNECTOR
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold/hidden/supply))
|
||||
src.pipe_type = PIPE_SUPPLY_MANIFOLD
|
||||
connect_types = list(2)
|
||||
src.color = PIPE_COLOR_BLUE
|
||||
pipe_type = PIPE_SUPPLY_MANIFOLD
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
color = PIPE_COLOR_BLUE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold/visible/scrubbers) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers))
|
||||
src.pipe_type = PIPE_SCRUBBERS_MANIFOLD
|
||||
connect_types = list(3)
|
||||
src.color = PIPE_COLOR_RED
|
||||
pipe_type = PIPE_SCRUBBERS_MANIFOLD
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
color = PIPE_COLOR_RED
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold))
|
||||
src.pipe_type = PIPE_MANIFOLD
|
||||
pipe_type = PIPE_MANIFOLD
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_pump))
|
||||
src.pipe_type = PIPE_UVENT
|
||||
pipe_type = PIPE_UVENT
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/binary/valve/digital))
|
||||
src.pipe_type = PIPE_DVALVE
|
||||
pipe_type = PIPE_DVALVE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/binary/valve))
|
||||
src.pipe_type = PIPE_MVALVE
|
||||
pipe_type = PIPE_MVALVE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/binary/pump))
|
||||
src.pipe_type = PIPE_PUMP
|
||||
pipe_type = PIPE_PUMP
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/trinary/filter))
|
||||
src.pipe_type = PIPE_GAS_FILTER
|
||||
pipe_type = PIPE_GAS_FILTER
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/trinary/mixer))
|
||||
src.pipe_type = PIPE_GAS_MIXER
|
||||
pipe_type = PIPE_GAS_MIXER
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/vent_scrubber))
|
||||
src.pipe_type = PIPE_SCRUBBER
|
||||
pipe_type = PIPE_SCRUBBER
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/binary/passive_gate))
|
||||
src.pipe_type = PIPE_PASSIVE_GATE
|
||||
pipe_type = PIPE_PASSIVE_GATE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/binary/volume_pump))
|
||||
src.pipe_type = PIPE_VOLUME_PUMP
|
||||
pipe_type = PIPE_VOLUME_PUMP
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/heat_exchanger))
|
||||
src.pipe_type = PIPE_HEAT_EXCHANGE
|
||||
pipe_type = PIPE_HEAT_EXCHANGE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/trinary/tvalve/digital))
|
||||
src.pipe_type = PIPE_DTVALVE
|
||||
pipe_type = PIPE_DTVALVE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/trinary/tvalve))
|
||||
src.pipe_type = PIPE_TVALVE
|
||||
pipe_type = PIPE_TVALVE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/supply))
|
||||
src.pipe_type = PIPE_SUPPLY_MANIFOLD4W
|
||||
connect_types = list(2)
|
||||
src.color = PIPE_COLOR_BLUE
|
||||
pipe_type = PIPE_SUPPLY_MANIFOLD4W
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
color = PIPE_COLOR_BLUE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/visible/scrubbers) || istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers))
|
||||
src.pipe_type = PIPE_SCRUBBERS_MANIFOLD4W
|
||||
connect_types = list(3)
|
||||
src.color = PIPE_COLOR_RED
|
||||
pipe_type = PIPE_SCRUBBERS_MANIFOLD4W
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
color = PIPE_COLOR_RED
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/manifold4w))
|
||||
src.pipe_type = PIPE_MANIFOLD4W
|
||||
pipe_type = PIPE_MANIFOLD4W
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap/visible/supply) || istype(make_from, /obj/machinery/atmospherics/pipe/cap/hidden/supply))
|
||||
src.pipe_type = PIPE_SUPPLY_CAP
|
||||
connect_types = list(2)
|
||||
src.color = PIPE_COLOR_BLUE
|
||||
pipe_type = PIPE_SUPPLY_CAP
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
color = PIPE_COLOR_BLUE
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap/visible/scrubbers) || istype(make_from, /obj/machinery/atmospherics/pipe/cap/hidden/scrubbers))
|
||||
src.pipe_type = PIPE_SCRUBBERS_CAP
|
||||
connect_types = list(3)
|
||||
src.color = PIPE_COLOR_RED
|
||||
pipe_type = PIPE_SCRUBBERS_CAP
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
color = PIPE_COLOR_RED
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/pipe/cap))
|
||||
src.pipe_type = PIPE_CAP
|
||||
pipe_type = PIPE_CAP
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/outlet_injector))
|
||||
src.pipe_type = PIPE_INJECTOR
|
||||
pipe_type = PIPE_INJECTOR
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/binary/dp_vent_pump))
|
||||
src.pipe_type = PIPE_DP_VENT
|
||||
pipe_type = PIPE_DP_VENT
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/unary/passive_vent))
|
||||
src.pipe_type = PIPE_PASV_VENT
|
||||
pipe_type = PIPE_PASV_VENT
|
||||
|
||||
else if(istype(make_from, /obj/machinery/atmospherics/binary/circulator))
|
||||
src.pipe_type = PIPE_CIRCULATOR
|
||||
pipe_type = PIPE_CIRCULATOR
|
||||
|
||||
var/obj/machinery/atmospherics/trinary/triP = make_from
|
||||
if(istype(triP) && triP.flipped)
|
||||
src.flipped = TRUE
|
||||
flipped = TRUE
|
||||
|
||||
var/obj/machinery/atmospherics/binary/circulator/circP = make_from
|
||||
if(istype(circP) && circP.side == CIRC_RIGHT)
|
||||
src.flipped = TRUE
|
||||
flipped = TRUE
|
||||
|
||||
else
|
||||
src.pipe_type = pipe_type
|
||||
src.dir = dir
|
||||
pipe_type = new_pipe_type
|
||||
dir = new_dir
|
||||
if(pipe_type == PIPE_SUPPLY_STRAIGHT || pipe_type == PIPE_SUPPLY_BENT || pipe_type == PIPE_SUPPLY_MANIFOLD || pipe_type == PIPE_SUPPLY_MANIFOLD4W || pipe_type == PIPE_SUPPLY_CAP)
|
||||
connect_types = list(2)
|
||||
src.color = PIPE_COLOR_BLUE
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
color = PIPE_COLOR_BLUE
|
||||
else if(pipe_type == PIPE_SCRUBBERS_STRAIGHT || pipe_type == PIPE_SCRUBBERS_BENT || pipe_type == PIPE_SCRUBBERS_MANIFOLD || pipe_type == PIPE_SCRUBBERS_MANIFOLD4W || pipe_type == PIPE_SCRUBBERS_CAP)
|
||||
connect_types = list(3)
|
||||
src.color = PIPE_COLOR_RED
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
color = PIPE_COLOR_RED
|
||||
else if(pipe_type == PIPE_UNIVERSAL)
|
||||
connect_types = list(1,2,3)
|
||||
connect_types = list(CONNECT_TYPE_NORMAL, CONNECT_TYPE_SUPPLY, CONNECT_TYPE_SCRUBBER)
|
||||
|
||||
update(make_from)
|
||||
src.pixel_x = rand(-5, 5)
|
||||
src.pixel_y = rand(-5, 5)
|
||||
pixel_x = rand(-5, 5)
|
||||
pixel_y = rand(-5, 5)
|
||||
|
||||
//update the name and icon of the pipe item depending on the type
|
||||
|
||||
@@ -141,12 +174,16 @@
|
||||
. = TRUE
|
||||
if(our_rpd.mode == RPD_ROTATE_MODE)
|
||||
rotate()
|
||||
|
||||
else if(our_rpd.mode == RPD_FLIP_MODE)
|
||||
flip()
|
||||
|
||||
else if(our_rpd.mode == RPD_DELETE_MODE)
|
||||
if(pipe_type == PIPE_CIRCULATOR) //Skip TEG heat circulators, they aren't really pipes
|
||||
return ..()
|
||||
|
||||
our_rpd.delete_single_pipe(user, src)
|
||||
|
||||
else
|
||||
return ..()
|
||||
|
||||
@@ -157,12 +194,15 @@
|
||||
/obj/item/pipe/proc/update(obj/machinery/atmospherics/make_from)
|
||||
name = "[get_pipe_name(pipe_type, PIPETYPE_ATMOS)] fitting"
|
||||
icon_state = get_pipe_icon(pipe_type)
|
||||
|
||||
var/obj/machinery/atmospherics/trinary/triP = make_from
|
||||
if(istype(triP) && triP.flipped)
|
||||
icon_state = "m_[icon_state]"
|
||||
|
||||
var/obj/machinery/atmospherics/binary/circulator/circP = make_from
|
||||
if(istype(circP) && circP.side == CIRC_RIGHT)
|
||||
icon_state = "m_[icon_state]"
|
||||
|
||||
if(istype(make_from, /obj/machinery/atmospherics/pipe/simple/heat_exchanging))
|
||||
resistance_flags |= FIRE_PROOF | LAVA_PROOF
|
||||
|
||||
@@ -182,14 +222,14 @@
|
||||
set name = "Rotate Pipe"
|
||||
set src in view(1)
|
||||
|
||||
if( usr.stat || usr.restrained() )
|
||||
if(usr.stat || usr.restrained())
|
||||
return
|
||||
|
||||
if(pipe_type == PIPE_CIRCULATOR)
|
||||
flip()
|
||||
return
|
||||
|
||||
src.dir = turn(src.dir, -90)
|
||||
dir = turn(dir, -90)
|
||||
|
||||
fixdir()
|
||||
|
||||
@@ -211,29 +251,31 @@
|
||||
flipped = !flipped
|
||||
return
|
||||
|
||||
src.dir = turn(src.dir, -180)
|
||||
dir = turn(dir, -180)
|
||||
|
||||
fixdir()
|
||||
|
||||
return
|
||||
|
||||
/obj/item/pipe/Move()
|
||||
..()
|
||||
if(is_bent_pipe() \
|
||||
&& (src.dir in GLOB.cardinal))
|
||||
src.dir = src.dir|turn(src.dir, 90)
|
||||
. = ..()
|
||||
if(is_bent_pipe() && (dir in GLOB.cardinal))
|
||||
dir = dir | turn(dir, 90)
|
||||
|
||||
else if(pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_UNIVERSAL, PIPE_HE_STRAIGHT, PIPE_INSULATED_STRAIGHT, PIPE_MVALVE, PIPE_DVALVE))
|
||||
if(dir==2)
|
||||
if(dir == 2)
|
||||
dir = 1
|
||||
else if(dir==8)
|
||||
|
||||
else if(dir == 8)
|
||||
dir = 4
|
||||
return
|
||||
|
||||
// returns all pipe's endpoints
|
||||
|
||||
/obj/item/pipe/proc/get_pipe_dir()
|
||||
. = 0
|
||||
|
||||
if(!dir)
|
||||
return 0
|
||||
return
|
||||
|
||||
var/direct = dir
|
||||
if(flipped)
|
||||
@@ -244,71 +286,64 @@
|
||||
var/acw = turn(direct, 90)
|
||||
|
||||
switch(pipe_type)
|
||||
if( PIPE_SIMPLE_STRAIGHT, \
|
||||
PIPE_INSULATED_STRAIGHT, \
|
||||
PIPE_HE_STRAIGHT, \
|
||||
PIPE_JUNCTION ,\
|
||||
PIPE_PUMP ,\
|
||||
PIPE_VOLUME_PUMP ,\
|
||||
PIPE_PASSIVE_GATE ,\
|
||||
PIPE_MVALVE, \
|
||||
PIPE_DVALVE, \
|
||||
PIPE_DP_VENT, \
|
||||
PIPE_SUPPLY_STRAIGHT, \
|
||||
PIPE_SCRUBBERS_STRAIGHT, \
|
||||
PIPE_UNIVERSAL, \
|
||||
)
|
||||
if(PIPE_SIMPLE_STRAIGHT, PIPE_INSULATED_STRAIGHT, PIPE_HE_STRAIGHT, PIPE_JUNCTION,\
|
||||
PIPE_PUMP, PIPE_VOLUME_PUMP, PIPE_PASSIVE_GATE, PIPE_MVALVE, PIPE_DVALVE, PIPE_DP_VENT,
|
||||
PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_UNIVERSAL)
|
||||
return dir|flip
|
||||
|
||||
if(PIPE_SIMPLE_BENT, PIPE_INSULATED_BENT, PIPE_HE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT)
|
||||
return dir //dir|acw
|
||||
|
||||
if(PIPE_CONNECTOR, PIPE_HEAT_EXCHANGE, PIPE_INJECTOR)
|
||||
return dir|flip
|
||||
|
||||
if(PIPE_UVENT, PIPE_PASV_VENT, PIPE_SCRUBBER)
|
||||
return dir
|
||||
|
||||
if(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W)
|
||||
return dir|flip|cw|acw
|
||||
|
||||
if(PIPE_MANIFOLD, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD)
|
||||
return flip|cw|acw
|
||||
|
||||
if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_TVALVE, PIPE_DTVALVE)
|
||||
if(!flipped)
|
||||
return dir|flip|cw
|
||||
else
|
||||
return flip|cw|acw
|
||||
|
||||
return flip|cw|acw
|
||||
|
||||
if(PIPE_CAP, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP)
|
||||
return dir|flip
|
||||
return 0
|
||||
|
||||
/obj/item/pipe/proc/get_pdir() //endpoints for regular pipes
|
||||
|
||||
var/flip = turn(dir, 180)
|
||||
// var/cw = turn(dir, -90)
|
||||
// var/acw = turn(dir, 90)
|
||||
|
||||
if(!(pipe_type in list(PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_JUNCTION)))
|
||||
return get_pipe_dir()
|
||||
|
||||
switch(pipe_type)
|
||||
if(PIPE_HE_STRAIGHT,PIPE_HE_BENT)
|
||||
return 0
|
||||
|
||||
if(PIPE_JUNCTION)
|
||||
return flip
|
||||
|
||||
return 0
|
||||
|
||||
// return the h_dir (heat-exchange pipes) from the type and the dir
|
||||
|
||||
/obj/item/pipe/proc/get_hdir() //endpoints for h/e pipes
|
||||
|
||||
// var/flip = turn(dir, 180)
|
||||
// var/cw = turn(dir, -90)
|
||||
|
||||
switch(pipe_type)
|
||||
if(PIPE_HE_STRAIGHT)
|
||||
return get_pipe_dir()
|
||||
|
||||
if(PIPE_HE_BENT)
|
||||
return get_pipe_dir()
|
||||
|
||||
if(PIPE_JUNCTION)
|
||||
return dir
|
||||
else
|
||||
return 0
|
||||
|
||||
return 0
|
||||
|
||||
/obj/item/pipe/proc/unflip(direction)
|
||||
if(!(direction in GLOB.cardinal))
|
||||
@@ -319,10 +354,12 @@
|
||||
//Helper to clean up dir
|
||||
/obj/item/pipe/proc/fixdir()
|
||||
if(pipe_type in list (PIPE_SIMPLE_STRAIGHT, PIPE_SUPPLY_STRAIGHT, PIPE_SCRUBBERS_STRAIGHT, PIPE_HE_STRAIGHT, PIPE_INSULATED_STRAIGHT, PIPE_MVALVE, PIPE_DVALVE))
|
||||
if(dir==2)
|
||||
if(dir == 2)
|
||||
dir = 1
|
||||
else if(dir==8)
|
||||
|
||||
else if(dir == 8)
|
||||
dir = 4
|
||||
|
||||
else if(pipe_type in list(PIPE_MANIFOLD4W, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W))
|
||||
dir = 2
|
||||
|
||||
@@ -331,184 +368,197 @@
|
||||
|
||||
/obj/item/pipe/wrench_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
|
||||
if(!isturf(src.loc))
|
||||
return 1
|
||||
if(!isturf(loc))
|
||||
return
|
||||
|
||||
fixdir()
|
||||
|
||||
var/pipe_dir = get_pipe_dir()
|
||||
var/turf/T = get_turf(loc)
|
||||
|
||||
for(var/obj/machinery/atmospherics/M in src.loc)
|
||||
if((M.initialize_directions & pipe_dir) && M.check_connect_types_construction(M,src)) // matches at least one direction on either type of pipe
|
||||
for(var/obj/machinery/atmospherics/M in loc)
|
||||
if((M.initialize_directions & pipe_dir) && M.check_connect_types_construction(M, src)) // matches at least one direction on either type of pipe
|
||||
to_chat(user, "<span class='warning'>There is already a pipe of the same type at this location.</span>")
|
||||
return 1
|
||||
return
|
||||
|
||||
if(pipe_type in list(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_UVENT, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_PASV_VENT, PIPE_DP_VENT, PIPE_PASSIVE_GATE))
|
||||
if(T.transparent_floor) //stops jank with transparent floors and pipes
|
||||
to_chat(user, "<span class='warning'>You can only fix simple pipes and devices over glass floors!</span>")
|
||||
return 1
|
||||
return
|
||||
|
||||
switch(pipe_type) //What kind of heartless person thought of doing this?
|
||||
if(PIPE_SIMPLE_STRAIGHT, PIPE_SIMPLE_BENT)
|
||||
var/obj/machinery/atmospherics/pipe/simple/P = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/simple/P = new(loc)
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT)
|
||||
var/obj/machinery/atmospherics/pipe/simple/hidden/supply/P = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/simple/hidden/supply/P = new(loc)
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT)
|
||||
var/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers/P = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers/P = new(loc)
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_UNIVERSAL)
|
||||
var/obj/machinery/atmospherics/pipe/simple/hidden/universal/P = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/simple/hidden/universal/P = new(loc)
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_HE_STRAIGHT, PIPE_HE_BENT)
|
||||
var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/P = new ( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/P = new (loc)
|
||||
P.initialize_directions_he = pipe_dir
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_CONNECTOR) // connector
|
||||
var/obj/machinery/atmospherics/unary/portables_connector/C = new( src.loc )
|
||||
var/obj/machinery/atmospherics/unary/portables_connector/C = new(loc)
|
||||
if(pipename)
|
||||
C.name = pipename
|
||||
C.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_MANIFOLD) //manifold
|
||||
var/obj/machinery/atmospherics/pipe/manifold/M = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/manifold/M = new(loc)
|
||||
M.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_SUPPLY_MANIFOLD) //manifold
|
||||
var/obj/machinery/atmospherics/pipe/manifold/hidden/supply/M = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/manifold/hidden/supply/M = new(loc)
|
||||
M.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_SCRUBBERS_MANIFOLD) //manifold
|
||||
var/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers/M = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers/M = new(loc)
|
||||
M.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_MANIFOLD4W) //4-way manifold
|
||||
var/obj/machinery/atmospherics/pipe/manifold4w/M = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/manifold4w/M = new(loc)
|
||||
M.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_SUPPLY_MANIFOLD4W) //4-way manifold
|
||||
var/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply/M = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/manifold4w/hidden/supply/M = new(loc)
|
||||
M.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_SCRUBBERS_MANIFOLD4W) //4-way manifold
|
||||
var/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers/M = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers/M = new(loc)
|
||||
M.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_JUNCTION)
|
||||
var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new ( src.loc )
|
||||
P.initialize_directions_he = src.get_hdir()
|
||||
var/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction/P = new (loc)
|
||||
P.initialize_directions_he = get_hdir()
|
||||
P.on_construction(dir, get_pdir(), color)
|
||||
|
||||
if(PIPE_UVENT) //unary vent
|
||||
var/obj/machinery/atmospherics/unary/vent_pump/V = new( src.loc )
|
||||
var/obj/machinery/atmospherics/unary/vent_pump/V = new(loc)
|
||||
V.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_MVALVE) //manual valve
|
||||
var/obj/machinery/atmospherics/binary/valve/V = new( src.loc)
|
||||
var/obj/machinery/atmospherics/binary/valve/V = new(loc)
|
||||
if(pipename)
|
||||
V.name = pipename
|
||||
V.on_construction(dir, get_pdir(), color)
|
||||
|
||||
if(PIPE_DVALVE)
|
||||
var/obj/machinery/atmospherics/binary/valve/digital/V = new( src.loc )
|
||||
var/obj/machinery/atmospherics/binary/valve/digital/V = new(loc)
|
||||
if(pipename)
|
||||
V.name = pipename
|
||||
V.on_construction(dir, get_pdir(), color)
|
||||
|
||||
if(PIPE_PUMP) //gas pump
|
||||
var/obj/machinery/atmospherics/binary/pump/P = new(src.loc)
|
||||
var/obj/machinery/atmospherics/binary/pump/P = new(loc)
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_GAS_FILTER, PIPE_GAS_MIXER, PIPE_TVALVE, PIPE_DTVALVE)
|
||||
var/obj/machinery/atmospherics/trinary/P
|
||||
switch(pipe_type)
|
||||
if(PIPE_GAS_FILTER)
|
||||
P = new /obj/machinery/atmospherics/trinary/filter(src.loc)
|
||||
P = new /obj/machinery/atmospherics/trinary/filter(loc)
|
||||
if(PIPE_GAS_MIXER)
|
||||
P = new /obj/machinery/atmospherics/trinary/mixer(src.loc)
|
||||
P = new /obj/machinery/atmospherics/trinary/mixer(loc)
|
||||
if(PIPE_TVALVE)
|
||||
P = new /obj/machinery/atmospherics/trinary/tvalve(src.loc)
|
||||
P = new /obj/machinery/atmospherics/trinary/tvalve(loc)
|
||||
if(PIPE_DTVALVE)
|
||||
P = new /obj/machinery/atmospherics/trinary/tvalve/digital(src.loc)
|
||||
P = new /obj/machinery/atmospherics/trinary/tvalve/digital(loc)
|
||||
|
||||
P.flipped = flipped
|
||||
|
||||
if(pipename)
|
||||
P.name = pipename
|
||||
|
||||
P.on_construction(unflip(dir), pipe_dir, color)
|
||||
|
||||
if(PIPE_CIRCULATOR) //circulator
|
||||
var/obj/machinery/atmospherics/binary/circulator/C = new(src.loc)
|
||||
var/obj/machinery/atmospherics/binary/circulator/C = new(loc)
|
||||
if(flipped)
|
||||
C.side = CIRC_RIGHT
|
||||
|
||||
if(pipename)
|
||||
C.name = pipename
|
||||
|
||||
C.on_construction(C.dir, C.initialize_directions, color)
|
||||
|
||||
if(PIPE_SCRUBBER) //scrubber
|
||||
var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(src.loc)
|
||||
var/obj/machinery/atmospherics/unary/vent_scrubber/S = new(loc)
|
||||
if(pipename)
|
||||
S.name = pipename
|
||||
|
||||
S.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_INSULATED_STRAIGHT, PIPE_INSULATED_BENT)
|
||||
var/obj/machinery/atmospherics/pipe/simple/insulated/P = new( src.loc )
|
||||
var/obj/machinery/atmospherics/pipe/simple/insulated/P = new(loc)
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_CAP)
|
||||
var/obj/machinery/atmospherics/pipe/cap/C = new(src.loc)
|
||||
var/obj/machinery/atmospherics/pipe/cap/C = new(loc)
|
||||
C.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_SUPPLY_CAP)
|
||||
var/obj/machinery/atmospherics/pipe/cap/hidden/supply/C = new(src.loc)
|
||||
var/obj/machinery/atmospherics/pipe/cap/hidden/supply/C = new(loc)
|
||||
C.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_SCRUBBERS_CAP)
|
||||
var/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers/C = new(src.loc)
|
||||
var/obj/machinery/atmospherics/pipe/cap/hidden/scrubbers/C = new(loc)
|
||||
C.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_PASSIVE_GATE) //passive gate
|
||||
var/obj/machinery/atmospherics/binary/passive_gate/P = new(src.loc)
|
||||
var/obj/machinery/atmospherics/binary/passive_gate/P = new(loc)
|
||||
if(pipename)
|
||||
P.name = pipename
|
||||
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_VOLUME_PUMP) //volume pump
|
||||
var/obj/machinery/atmospherics/binary/volume_pump/P = new(src.loc)
|
||||
var/obj/machinery/atmospherics/binary/volume_pump/P = new(loc)
|
||||
if(pipename)
|
||||
P.name = pipename
|
||||
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_HEAT_EXCHANGE) // heat exchanger
|
||||
var/obj/machinery/atmospherics/unary/heat_exchanger/C = new( src.loc )
|
||||
var/obj/machinery/atmospherics/unary/heat_exchanger/C = new(loc)
|
||||
if(pipename)
|
||||
C.name = pipename
|
||||
|
||||
C.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_INJECTOR) // air injector
|
||||
var/obj/machinery/atmospherics/unary/outlet_injector/P = new( src.loc )
|
||||
var/obj/machinery/atmospherics/unary/outlet_injector/P = new(loc)
|
||||
if(pipename)
|
||||
P.name = pipename
|
||||
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_DP_VENT)
|
||||
var/obj/machinery/atmospherics/binary/dp_vent_pump/P = new(src.loc)
|
||||
var/obj/machinery/atmospherics/binary/dp_vent_pump/P = new(loc)
|
||||
if(pipename)
|
||||
P.name = pipename
|
||||
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
if(PIPE_PASV_VENT)
|
||||
var/obj/machinery/atmospherics/unary/passive_vent/P = new(src.loc)
|
||||
var/obj/machinery/atmospherics/unary/passive_vent/P = new(loc)
|
||||
if(pipename)
|
||||
P.name = pipename
|
||||
|
||||
P.on_construction(dir, pipe_dir, color)
|
||||
|
||||
user.visible_message( \
|
||||
@@ -528,19 +578,22 @@
|
||||
/obj/item/pipe_meter/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if(!istype(W, /obj/item/wrench))
|
||||
return ..()
|
||||
if(!locate(/obj/machinery/atmospherics/pipe, src.loc))
|
||||
|
||||
if(!locate(/obj/machinery/atmospherics/pipe, loc))
|
||||
to_chat(user, "<span class='warning'>You need to fasten it to a pipe</span>")
|
||||
return 1
|
||||
new /obj/machinery/meter(loc)
|
||||
playsound(src.loc, W.usesound, 50, 1)
|
||||
return TRUE
|
||||
|
||||
new /obj/machinery/atmospherics/meter(loc)
|
||||
playsound(loc, W.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You have fastened the meter to the pipe.</span>")
|
||||
qdel(src)
|
||||
|
||||
/obj/item/pipe_meter/rpd_act(mob/user, obj/item/rpd/our_rpd)
|
||||
if(our_rpd.mode == RPD_DELETE_MODE)
|
||||
our_rpd.delete_single_pipe(user, src)
|
||||
else
|
||||
..()
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/pipe_gsensor
|
||||
name = "gas sensor"
|
||||
@@ -553,7 +606,8 @@
|
||||
/obj/item/pipe_gsensor/attackby(obj/item/W as obj, mob/user as mob)
|
||||
if(!istype(W, /obj/item/wrench))
|
||||
return ..()
|
||||
new/obj/machinery/air_sensor( src.loc )
|
||||
|
||||
new /obj/machinery/atmospherics/air_sensor(loc)
|
||||
playsound(get_turf(src), W.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You have fastened the gas sensor.</span>")
|
||||
qdel(src)
|
||||
@@ -561,15 +615,18 @@
|
||||
/obj/item/pipe_gsensor/rpd_act(mob/user, obj/item/rpd/our_rpd)
|
||||
if(our_rpd.mode == RPD_DELETE_MODE)
|
||||
our_rpd.delete_single_pipe(user, src)
|
||||
else
|
||||
..()
|
||||
return
|
||||
|
||||
..()
|
||||
|
||||
/obj/item/pipe/AltClick(mob/user)
|
||||
if(user.incapacitated() || !user.Adjacent(src))
|
||||
return
|
||||
|
||||
rotate()
|
||||
|
||||
/obj/item/pipe/AltShiftClick(mob/user)
|
||||
if(user.incapacitated() || !user.Adjacent(src))
|
||||
return
|
||||
|
||||
flip()
|
||||
|
||||
@@ -86,17 +86,22 @@
|
||||
|
||||
if(world.time < wait + 4)
|
||||
return
|
||||
|
||||
wait = world.time
|
||||
|
||||
if(href_list["make"])
|
||||
var/p_type = text2num(href_list["make"])
|
||||
var/p_dir = text2num(href_list["dir"])
|
||||
var/obj/item/pipe/P = new (loc, pipe_type=p_type, dir=p_dir)
|
||||
var/obj/item/pipe/P = new(loc, p_type, p_dir)
|
||||
P.update()
|
||||
P.add_fingerprint(usr)
|
||||
|
||||
if(href_list["makemeter"])
|
||||
new /obj/item/pipe_meter(loc)
|
||||
|
||||
if(href_list["makegsensor"])
|
||||
new /obj/item/pipe_gsensor(loc)
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/pipedispenser/wrench_act(mob/user, obj/item/I)
|
||||
@@ -113,6 +118,7 @@
|
||||
stat &= ~MAINT
|
||||
unwrenched = FALSE
|
||||
power_change()
|
||||
|
||||
else
|
||||
playsound(loc, I.usesound, 50, 1)
|
||||
to_chat(user, "<span class='notice'>You begin to unfasten \the [src] from the floor...</span>")
|
||||
@@ -129,11 +135,13 @@
|
||||
|
||||
/obj/machinery/pipedispenser/attackby(obj/item/W, mob/user, params)
|
||||
add_fingerprint(usr)
|
||||
|
||||
if(istype(W, /obj/item/pipe) || istype(W, /obj/item/pipe_meter) || istype(W, /obj/item/pipe_gsensor))
|
||||
to_chat(usr, "<span class='notice'>You put [W] back to [src].</span>")
|
||||
user.drop_item()
|
||||
qdel(W)
|
||||
return
|
||||
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -143,11 +151,11 @@
|
||||
icon_state = "pipe_d"
|
||||
|
||||
//Allow you to drag-drop disposal pipes into it
|
||||
/obj/machinery/pipedispenser/disposal/MouseDrop_T(obj/structure/disposalconstruct/pipe, mob/usr)
|
||||
if(usr.incapacitated())
|
||||
/obj/machinery/pipedispenser/disposal/MouseDrop_T(obj/structure/disposalconstruct/pipe, mob/user)
|
||||
if(user.incapacitated())
|
||||
return
|
||||
|
||||
if(!istype(pipe) || get_dist(usr, src) > 1 || get_dist(src, pipe) > 1 )
|
||||
if(!istype(pipe) || get_dist(user, src) > 1 || get_dist(src, pipe) > 1 )
|
||||
return
|
||||
|
||||
if(pipe.anchored)
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
return
|
||||
if(isobj(target))
|
||||
var/obj/O = target
|
||||
if(istype(target, /obj/machinery/power/supermatter_crystal)) //No, you can't pick up the SM with this you moron, did you think you were clever?
|
||||
if(istype(target, /obj/machinery/atmospherics/supermatter_crystal)) //No, you can't pick up the SM with this you moron, did you think you were clever?
|
||||
var/obj/mecha/working/ripley/R = chassis
|
||||
QDEL_LIST(R.cargo) //We don't want to drop cargo that just spam hits the SM, let's delete it
|
||||
occupant_message("<span class='userdanger'>You realise in horror what you have done as [chassis] starts warping around you!</span>")
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
//inner atmos
|
||||
var/use_internal_tank = 0
|
||||
var/internal_tank_valve = ONE_ATMOSPHERE
|
||||
var/obj/machinery/portable_atmospherics/canister/internal_tank
|
||||
var/obj/machinery/atmospherics/portable/canister/internal_tank
|
||||
var/datum/gas_mixture/cabin_air
|
||||
var/obj/machinery/atmospherics/unary/portables_connector/connected_port = null
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
return cell
|
||||
|
||||
/obj/mecha/proc/add_airtank()
|
||||
internal_tank = new /obj/machinery/portable_atmospherics/canister/air(src)
|
||||
internal_tank = new /obj/machinery/atmospherics/portable/canister/air(src)
|
||||
return internal_tank
|
||||
|
||||
/obj/mecha/proc/add_cell(obj/item/stock_parts/cell/C=null)
|
||||
|
||||
@@ -63,7 +63,7 @@ GLOBAL_LIST_INIT(metal_recipes, list(
|
||||
new /datum/stack_recipe("rack parts", /obj/item/rack_parts),
|
||||
new /datum/stack_recipe("closet", /obj/structure/closet, 2, time = 15, one_per_turf = 1, on_floor = 1),
|
||||
null,
|
||||
new /datum/stack_recipe("canister", /obj/machinery/portable_atmospherics/canister, 10, time = 15, one_per_turf = 1, on_floor = 1),
|
||||
new /datum/stack_recipe("canister", /obj/machinery/atmospherics/portable/canister, 10, time = 15, one_per_turf = 1, on_floor = 1),
|
||||
null,
|
||||
new /datum/stack_recipe("floor tile", /obj/item/stack/tile/plasteel, 1, 4, 20),
|
||||
new /datum/stack_recipe/rods("metal rod", /obj/item/stack/rods, 1, 2, 50),
|
||||
|
||||
@@ -356,7 +356,7 @@
|
||||
return
|
||||
else if(istype(AM, /obj/item/nuke_core_container))
|
||||
return
|
||||
else if(istype(AM, /obj/machinery/power/supermatter_crystal))
|
||||
else if(istype(AM, /obj/machinery/atmospherics/supermatter_crystal))
|
||||
return
|
||||
else
|
||||
investigate_log("has consumed [AM].", "supermatter")
|
||||
|
||||
@@ -59,6 +59,7 @@
|
||||
var/atmos_overlay_type = null //current active overlay
|
||||
|
||||
// Dont make this Initialize(), youll break all of atmos
|
||||
// Challenge accepted in a few years -aa07
|
||||
/turf/simulated/New()
|
||||
..()
|
||||
if(!blocks_air)
|
||||
|
||||
@@ -257,8 +257,8 @@
|
||||
apply_preset(1) // Don't cycle.
|
||||
GLOB.air_alarm_repository.update_cache(src)
|
||||
|
||||
/obj/machinery/alarm/Initialize()
|
||||
..()
|
||||
/obj/machinery/alarm/Initialize(mapload)
|
||||
. = ..()
|
||||
set_frequency(frequency)
|
||||
if(!master_is_operating())
|
||||
elect_master()
|
||||
|
||||
@@ -18,13 +18,14 @@ Pipelines + Other Objects -> Pipe network
|
||||
active_power_usage = 0
|
||||
power_channel = ENVIRON
|
||||
on_blueprints = TRUE
|
||||
armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 100, ACID = 70)
|
||||
var/nodealert = FALSE
|
||||
var/can_unwrench = FALSE
|
||||
/// If the machine is currently operating or not.
|
||||
var/on = FALSE
|
||||
/// The amount of pressure the machine wants to operate at.
|
||||
var/target_pressure = 0
|
||||
var/connect_types[] = list(1) //1=regular, 2=supply, 3=scrubber
|
||||
var/list/connect_types = list(CONNECT_TYPE_NORMAL)
|
||||
var/connected_to = 1 //same as above, currently not used for anything
|
||||
var/icon_connect_type = "" //"-supply" or "-scrubbers"
|
||||
|
||||
@@ -33,21 +34,22 @@ Pipelines + Other Objects -> Pipe network
|
||||
var/pipe_color
|
||||
var/image/pipe_image
|
||||
|
||||
/obj/machinery/atmospherics/New()
|
||||
if (!armor)
|
||||
armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 100, ACID = 70)
|
||||
..()
|
||||
|
||||
/obj/machinery/atmospherics/Initialize(mapload)
|
||||
. = ..()
|
||||
SSair.atmos_machinery += src
|
||||
|
||||
|
||||
if(!pipe_color)
|
||||
pipe_color = color
|
||||
|
||||
color = null
|
||||
|
||||
if(!pipe_color_check(pipe_color))
|
||||
pipe_color = null
|
||||
|
||||
/obj/machinery/atmospherics/Initialize()
|
||||
. = ..()
|
||||
SSair.atmos_machinery += src
|
||||
/obj/machinery/atmospherics/proc/process_atmos() //If you dont use process why are you here
|
||||
return PROCESS_KILL
|
||||
|
||||
/obj/machinery/atmospherics/proc/atmos_init()
|
||||
// Updates all pipe overlays and underlays
|
||||
@@ -122,24 +124,20 @@ Pipelines + Other Objects -> Pipe network
|
||||
|
||||
// Connect types
|
||||
/obj/machinery/atmospherics/proc/check_connect_types(obj/machinery/atmospherics/atmos1, obj/machinery/atmospherics/atmos2)
|
||||
var/i
|
||||
var/list1[] = atmos1.connect_types
|
||||
var/list2[] = atmos2.connect_types
|
||||
for(i=1,i<=list1.len,i++)
|
||||
var/j
|
||||
for(j=1,j<=list2.len,j++)
|
||||
var/list/list1 = atmos1.connect_types
|
||||
var/list/list2 = atmos2.connect_types
|
||||
for(var/i in 1 to length(list1))
|
||||
for(var/j in 1 to length(list2))
|
||||
if(list1[i] == list2[j])
|
||||
var/n = list1[i]
|
||||
return n
|
||||
return 0
|
||||
|
||||
/obj/machinery/atmospherics/proc/check_connect_types_construction(obj/machinery/atmospherics/atmos1, obj/item/pipe/pipe2)
|
||||
var/i
|
||||
var/list1[] = atmos1.connect_types
|
||||
var/list2[] = pipe2.connect_types
|
||||
for(i=1,i<=list1.len,i++)
|
||||
var/j
|
||||
for(j=1,j<=list2.len,j++)
|
||||
var/list/list1 = atmos1.connect_types
|
||||
var/list/list2 = pipe2.connect_types
|
||||
for(var/i in 1 to length(list1))
|
||||
for(var/j in 1 to length(list2))
|
||||
if(list1[i] == list2[j])
|
||||
var/n = list1[i]
|
||||
return n
|
||||
@@ -247,7 +245,7 @@ Pipelines + Other Objects -> Pipe network
|
||||
/obj/machinery/atmospherics/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(can_unwrench)
|
||||
var/obj/item/pipe/stored = new(loc, make_from = src)
|
||||
var/obj/item/pipe/stored = new(loc, null, null, src)
|
||||
if(!disassembled)
|
||||
stored.obj_integrity = stored.max_integrity * 0.5
|
||||
transfer_fingerprints_to(stored)
|
||||
|
||||
@@ -27,15 +27,16 @@
|
||||
/obj/item/pipe/circulator
|
||||
name = "circulator/heat exchanger fitting"
|
||||
|
||||
/obj/item/pipe/circulator/New(loc)
|
||||
var/obj/machinery/atmospherics/binary/circulator/C = new /obj/machinery/atmospherics/binary/circulator(null)
|
||||
..(loc, make_from = C)
|
||||
/obj/item/pipe/circulator/Initialize(mapload, pipe_type, dir, obj/machinery/atmospherics/make_from)
|
||||
. = ..(make_from = new /obj/machinery/atmospherics/binary/circulator(null))
|
||||
|
||||
/obj/machinery/atmospherics/binary/circulator/Destroy()
|
||||
if(generator && generator.cold_circ == src)
|
||||
generator.cold_circ = null
|
||||
|
||||
else if(generator && generator.hot_circ == src)
|
||||
generator.hot_circ = null
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/machinery/atmospherics/binary/circulator/proc/return_transfer_air()
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
level = 1
|
||||
|
||||
connect_types = list(1,2,3) //connects to regular, supply and scrubbers pipes
|
||||
connect_types = list(CONNECT_TYPE_NORMAL, CONNECT_TYPE_SUPPLY, CONNECT_TYPE_SCRUBBER) //connects to regular, supply and scrubbers pipes
|
||||
|
||||
var/releasing = TRUE //FALSE = siphoning, TRUE = releasing
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
can_unwrench = TRUE
|
||||
layer = GAS_FILTER_LAYER
|
||||
|
||||
var/obj/machinery/portable_atmospherics/connected_device
|
||||
var/obj/machinery/atmospherics/portable/connected_device
|
||||
|
||||
/obj/machinery/atmospherics/unary/portables_connector/Destroy()
|
||||
if(connected_device)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
var/radio_filter_out
|
||||
var/radio_filter_in
|
||||
|
||||
connect_types = list(1,2) //connects to regular and supply pipes
|
||||
connect_types = list(CONNECT_TYPE_NORMAL, CONNECT_TYPE_SUPPLY) //connects to regular and supply pipes
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_pump/detailed_examine()
|
||||
return "This pumps the contents of the attached pipe out into the atmosphere, if needed. It can be controlled from an Air Alarm."
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
var/radio_filter_out
|
||||
var/radio_filter_in
|
||||
|
||||
connect_types = list(1,3) //connects to regular and scrubber pipes
|
||||
connect_types = list(CONNECT_TYPE_NORMAL, CONNECT_TYPE_SCRUBBER) //connects to regular and scrubber pipes
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/on
|
||||
on = TRUE
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
<font color="red">[status]</font><br>
|
||||
<a href="?src=[UID()];scan=1">Scan</a>
|
||||
<table border="1" width="90%">"}
|
||||
for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in connectedscrubbers)
|
||||
for(var/obj/machinery/atmospherics/portable/scrubber/huge/scrubber in connectedscrubbers)
|
||||
dat += {"
|
||||
<tr>
|
||||
<td>[scrubber.name]</td>
|
||||
@@ -100,7 +100,7 @@
|
||||
if(href_list["scan"])
|
||||
scanscrubbers()
|
||||
else if(href_list["toggle"])
|
||||
var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber = locate(href_list["scrub"])
|
||||
var/obj/machinery/atmospherics/portable/scrubber/huge/scrubber = locate(href_list["scrub"])
|
||||
|
||||
if(!validscrubber(scrubber))
|
||||
spawn(20)
|
||||
@@ -112,7 +112,7 @@
|
||||
scrubber.on = text2num(href_list["toggle"])
|
||||
scrubber.update_icon()
|
||||
|
||||
/obj/machinery/computer/area_atmos/proc/validscrubber(obj/machinery/portable_atmospherics/scrubber/huge/scrubber as obj)
|
||||
/obj/machinery/computer/area_atmos/proc/validscrubber(obj/machinery/atmospherics/portable/scrubber/huge/scrubber as obj)
|
||||
if(!isobj(scrubber) || get_dist(scrubber.loc, src.loc) > src.range || scrubber.loc.z != src.loc.z)
|
||||
return 0
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
connectedscrubbers = new()
|
||||
|
||||
var/found = 0
|
||||
for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in range(range, src.loc))
|
||||
for(var/obj/machinery/atmospherics/portable/scrubber/huge/scrubber in range(range, src.loc))
|
||||
if(istype(scrubber))
|
||||
found = 1
|
||||
connectedscrubbers += scrubber
|
||||
@@ -136,7 +136,7 @@
|
||||
/obj/machinery/computer/area_atmos/area
|
||||
zone = "This computer is working in a wired network limited to this area."
|
||||
|
||||
/obj/machinery/computer/area_atmos/area/validscrubber(obj/machinery/portable_atmospherics/scrubber/huge/scrubber as obj )
|
||||
/obj/machinery/computer/area_atmos/area/validscrubber(obj/machinery/atmospherics/portable/scrubber/huge/scrubber as obj )
|
||||
if(!isobj(scrubber))
|
||||
return 0
|
||||
|
||||
@@ -164,7 +164,7 @@
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T.loc) return
|
||||
var/area/A = get_area(T)
|
||||
for(var/obj/machinery/portable_atmospherics/scrubber/huge/scrubber in SSair.atmos_machinery)
|
||||
for(var/obj/machinery/atmospherics/portable/scrubber/huge/scrubber in SSair.atmos_machinery)
|
||||
var/turf/T2 = get_turf(scrubber)
|
||||
if(T2 && T2.loc)
|
||||
var/area/A2 = T2.loc
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/obj/machinery/meter
|
||||
/obj/machinery/atmospherics/meter
|
||||
name = "gas flow meter"
|
||||
desc = "It measures something."
|
||||
icon = 'icons/obj/meter.dmi'
|
||||
@@ -12,7 +12,6 @@
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 40, ACID = 0)
|
||||
power_channel = ENVIRON
|
||||
frequency = ATMOS_DISTRO_FREQ
|
||||
var/id
|
||||
var/id_tag
|
||||
use_power = IDLE_POWER_USE
|
||||
idle_power_usage = 2
|
||||
@@ -21,28 +20,18 @@
|
||||
Mtoollink = TRUE
|
||||
settagwhitelist = list("id_tag")
|
||||
|
||||
/obj/machinery/meter/New()
|
||||
..()
|
||||
SSair.atmos_machinery += src
|
||||
/obj/machinery/atmospherics/meter/Initialize(mapload)
|
||||
. = ..()
|
||||
target = locate(/obj/machinery/atmospherics/pipe) in loc
|
||||
if(id && !id_tag)//i'm not dealing with further merge conflicts, fuck it
|
||||
id_tag = id
|
||||
return 1
|
||||
|
||||
/obj/machinery/meter/Destroy()
|
||||
SSair.atmos_machinery -= src
|
||||
/obj/machinery/atmospherics/meter/Destroy()
|
||||
target = null
|
||||
return ..()
|
||||
|
||||
/obj/machinery/meter/Initialize()
|
||||
..()
|
||||
if(!target)
|
||||
target = locate(/obj/machinery/atmospherics/pipe) in loc
|
||||
|
||||
/obj/machinery/meter/detailed_examine()
|
||||
/obj/machinery/atmospherics/meter/detailed_examine()
|
||||
return "Measures the volume and temperature of the pipe under the meter."
|
||||
|
||||
/obj/machinery/meter/process_atmos()
|
||||
/obj/machinery/atmospherics/meter/process_atmos()
|
||||
if(!target || (stat & (BROKEN|NOPOWER)))
|
||||
update_icon(UPDATE_ICON_STATE)
|
||||
return
|
||||
@@ -69,9 +58,9 @@
|
||||
"sigtype" = "status"
|
||||
)
|
||||
radio_connection.post_signal(src, signal)
|
||||
|
||||
|
||||
/obj/machinery/meter/update_icon_state()
|
||||
|
||||
/obj/machinery/atmospherics/meter/update_icon_state()
|
||||
if(!target)
|
||||
icon_state = "meterX"
|
||||
return
|
||||
@@ -100,7 +89,7 @@
|
||||
else
|
||||
icon_state = "meter4"
|
||||
|
||||
/obj/machinery/meter/proc/status()
|
||||
/obj/machinery/atmospherics/meter/proc/status()
|
||||
var/t = ""
|
||||
if(target)
|
||||
var/datum/gas_mixture/environment = target.return_air()
|
||||
@@ -112,7 +101,7 @@
|
||||
t += "The connect error light is blinking."
|
||||
return t
|
||||
|
||||
/obj/machinery/meter/examine(mob/user)
|
||||
/obj/machinery/atmospherics/meter/examine(mob/user)
|
||||
var/t = "A gas flow meter. "
|
||||
|
||||
if(get_dist(user, src) > 3 && !(istype(user, /mob/living/silicon/ai) || istype(user, /mob/dead)))
|
||||
@@ -132,14 +121,14 @@
|
||||
|
||||
. = list(t)
|
||||
|
||||
/obj/machinery/meter/Click()
|
||||
/obj/machinery/atmospherics/meter/Click()
|
||||
if(istype(usr, /mob/living/silicon/ai)) // ghosts can call ..() for examine
|
||||
usr.examinate(src)
|
||||
return 1
|
||||
|
||||
return ..()
|
||||
|
||||
/obj/machinery/meter/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
/obj/machinery/atmospherics/meter/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
if(istype(W, /obj/item/multitool))
|
||||
update_multitool_menu(user)
|
||||
return 1
|
||||
@@ -155,33 +144,17 @@
|
||||
"You hear ratchet.")
|
||||
deconstruct(TRUE)
|
||||
|
||||
/obj/machinery/meter/deconstruct(disassembled = TRUE)
|
||||
/obj/machinery/atmospherics/meter/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
new /obj/item/pipe_meter(loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/meter/singularity_pull(S, current_size)
|
||||
/obj/machinery/atmospherics/meter/singularity_pull(S, current_size)
|
||||
..()
|
||||
if(current_size >= STAGE_FIVE)
|
||||
deconstruct()
|
||||
|
||||
// TURF METER - REPORTS A TILE'S AIR CONTENTS
|
||||
|
||||
/obj/machinery/meter/turf/New()
|
||||
..()
|
||||
target = loc
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/meter/turf/Initialize()
|
||||
if(!target)
|
||||
target = loc
|
||||
..()
|
||||
|
||||
/obj/machinery/meter/turf/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
return
|
||||
|
||||
/obj/machinery/meter/multitool_menu(mob/user, obj/item/multitool/P)
|
||||
/obj/machinery/atmospherics/meter/multitool_menu(mob/user, obj/item/multitool/P)
|
||||
return {"
|
||||
<b>Main</b>
|
||||
<ul>
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
name = "scrubbers pipe endcap"
|
||||
desc = "An endcap for scrubbers pipes"
|
||||
icon_state = "cap-scrubbers"
|
||||
connect_types = list(3)
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
layer = 2.38
|
||||
icon_connect_type = "-scrubbers"
|
||||
color = PIPE_COLOR_RED
|
||||
@@ -95,7 +95,7 @@
|
||||
name = "supply pipe endcap"
|
||||
desc = "An endcap for supply pipes"
|
||||
icon_state = "cap-supply"
|
||||
connect_types = list(2)
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
layer = 2.39
|
||||
icon_connect_type = "-supply"
|
||||
color = PIPE_COLOR_BLUE
|
||||
@@ -109,7 +109,7 @@
|
||||
name = "scrubbers pipe endcap"
|
||||
desc = "An endcap for scrubbers pipes"
|
||||
icon_state = "cap-scrubbers"
|
||||
connect_types = list(3)
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
layer = 2.38
|
||||
icon_connect_type = "-scrubbers"
|
||||
color = PIPE_COLOR_RED
|
||||
@@ -118,7 +118,7 @@
|
||||
name = "supply pipe endcap"
|
||||
desc = "An endcap for supply pipes"
|
||||
icon_state = "cap-supply"
|
||||
connect_types = list(2)
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
layer = 2.39
|
||||
icon_connect_type = "-supply"
|
||||
color = PIPE_COLOR_BLUE
|
||||
|
||||
@@ -160,7 +160,7 @@
|
||||
name="Scrubbers pipe manifold"
|
||||
desc = "A manifold composed of scrubbers pipes"
|
||||
icon_state = "map-scrubbers"
|
||||
connect_types = list(3)
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
layer = 2.38
|
||||
icon_connect_type = "-scrubbers"
|
||||
color = PIPE_COLOR_RED
|
||||
@@ -173,7 +173,7 @@
|
||||
name="Air supply pipe manifold"
|
||||
desc = "A manifold composed of supply pipes"
|
||||
icon_state = "map-supply"
|
||||
connect_types = list(2)
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
layer = 2.39
|
||||
icon_connect_type = "-supply"
|
||||
color = PIPE_COLOR_BLUE
|
||||
@@ -209,7 +209,7 @@
|
||||
name="Scrubbers pipe manifold"
|
||||
desc = "A manifold composed of scrubbers pipes"
|
||||
icon_state = "map-scrubbers"
|
||||
connect_types = list(3)
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
layer = 2.38
|
||||
icon_connect_type = "-scrubbers"
|
||||
color = PIPE_COLOR_RED
|
||||
@@ -222,7 +222,7 @@
|
||||
name="Air supply pipe manifold"
|
||||
desc = "A manifold composed of supply pipes"
|
||||
icon_state = "map-supply"
|
||||
connect_types = list(2)
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
layer = 2.39
|
||||
icon_connect_type = "-supply"
|
||||
color = PIPE_COLOR_BLUE
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
name="4-way scrubbers pipe manifold"
|
||||
desc = "A manifold composed of scrubbers pipes"
|
||||
icon_state = "map_4way-scrubbers"
|
||||
connect_types = list(3)
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
layer = 2.38
|
||||
icon_connect_type = "-scrubbers"
|
||||
color = PIPE_COLOR_RED
|
||||
@@ -183,7 +183,7 @@
|
||||
name="4-way air supply pipe manifold"
|
||||
desc = "A manifold composed of supply pipes"
|
||||
icon_state = "map_4way-supply"
|
||||
connect_types = list(2)
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
layer = 2.39
|
||||
icon_connect_type = "-supply"
|
||||
color = PIPE_COLOR_BLUE
|
||||
@@ -213,7 +213,7 @@
|
||||
name="4-way scrubbers pipe manifold"
|
||||
desc = "A manifold composed of scrubbers pipes"
|
||||
icon_state = "map_4way-scrubbers"
|
||||
connect_types = list(3)
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
layer = 2.38
|
||||
icon_connect_type = "-scrubbers"
|
||||
color = PIPE_COLOR_RED
|
||||
@@ -226,7 +226,7 @@
|
||||
name="4-way air supply pipe manifold"
|
||||
desc = "A manifold composed of supply pipes"
|
||||
icon_state = "map_4way-supply"
|
||||
connect_types = list(2)
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
layer = 2.39
|
||||
icon_connect_type = "-supply"
|
||||
color = PIPE_COLOR_BLUE
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
|
||||
flags_2 = NO_MALF_EFFECT_2
|
||||
|
||||
/obj/machinery/atmospherics/pipe/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/pipe/Initialize(mapload)
|
||||
. = ..()
|
||||
//so pipes under walls are hidden
|
||||
if(istype(get_turf(src), /turf/simulated/wall))
|
||||
level = 1
|
||||
@@ -26,7 +26,7 @@
|
||||
QDEL_NULL(air_temporary)
|
||||
|
||||
var/turf/T = loc
|
||||
for(var/obj/machinery/meter/meter in T)
|
||||
for(var/obj/machinery/atmospherics/meter/meter in T)
|
||||
if(meter.target == src)
|
||||
var/obj/item/pipe_meter/PM = new (T)
|
||||
meter.transfer_fingerprints_to(PM)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
name = "Scrubbers pipe"
|
||||
desc = "A one meter section of scrubbers pipe"
|
||||
icon_state = "intact-scrubbers"
|
||||
connect_types = list(3)
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
layer = 2.38
|
||||
icon_connect_type = "-scrubbers"
|
||||
color = PIPE_COLOR_RED
|
||||
@@ -20,7 +20,7 @@
|
||||
name = "Air supply pipe"
|
||||
desc = "A one meter section of supply pipe"
|
||||
icon_state = "intact-supply"
|
||||
connect_types = list(2)
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
layer = 2.39
|
||||
icon_connect_type = "-supply"
|
||||
color = PIPE_COLOR_BLUE
|
||||
@@ -32,7 +32,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/universal
|
||||
name="Universal pipe adapter"
|
||||
desc = "An adapter for regular, supply and scrubbers pipes"
|
||||
connect_types = list(1,2,3)
|
||||
connect_types = list(CONNECT_TYPE_NORMAL, CONNECT_TYPE_SUPPLY, CONNECT_TYPE_SCRUBBER)
|
||||
icon_state = "map_universal"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/universal/detailed_examine()
|
||||
@@ -41,7 +41,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/universal/update_overlays()
|
||||
. = list()
|
||||
alpha = 255
|
||||
. += SSair.icon_manager.get_atmos_icon("pipe", , pipe_color, "universal")
|
||||
. += SSair.icon_manager.get_atmos_icon("pipe", color = pipe_color, state = "universal")
|
||||
update_underlays()
|
||||
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/universal/update_underlays()
|
||||
@@ -53,14 +53,14 @@
|
||||
universal_underlays(node2)
|
||||
else
|
||||
var/node2_dir = turn(get_dir(src,node1),-180)
|
||||
universal_underlays(,node2_dir)
|
||||
universal_underlays(direction = node2_dir)
|
||||
else if(node2)
|
||||
universal_underlays(node2)
|
||||
var/node1_dir = turn(get_dir(src,node2),-180)
|
||||
universal_underlays(,node1_dir)
|
||||
universal_underlays(direction = node1_dir)
|
||||
else
|
||||
universal_underlays(,dir)
|
||||
universal_underlays(,turn(dir, -180))
|
||||
universal_underlays(direction = dir)
|
||||
universal_underlays(direction = turn(dir, -180))
|
||||
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/yellow
|
||||
color = PIPE_COLOR_YELLOW
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
name = "Scrubbers pipe"
|
||||
desc = "A one meter section of scrubbers pipe"
|
||||
icon_state = "intact-scrubbers"
|
||||
connect_types = list(3)
|
||||
connect_types = list(CONNECT_TYPE_SCRUBBER)
|
||||
layer = 2.38
|
||||
icon_connect_type = "-scrubbers"
|
||||
color = PIPE_COLOR_RED
|
||||
@@ -19,7 +19,7 @@
|
||||
name = "Air supply pipe"
|
||||
desc = "A one meter section of supply pipe"
|
||||
icon_state = "intact-supply"
|
||||
connect_types = list(2)
|
||||
connect_types = list(CONNECT_TYPE_SUPPLY)
|
||||
layer = 2.39
|
||||
icon_connect_type = "-supply"
|
||||
color = PIPE_COLOR_BLUE
|
||||
@@ -49,7 +49,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/universal
|
||||
name="Universal pipe adapter"
|
||||
desc = "An adapter for regular, supply and scrubbers pipes"
|
||||
connect_types = list(1,2,3)
|
||||
connect_types = list(CONNECT_TYPE_NORMAL, CONNECT_TYPE_SUPPLY, CONNECT_TYPE_SCRUBBER)
|
||||
icon_state = "map_universal"
|
||||
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/universal/detailed_examine()
|
||||
@@ -58,7 +58,7 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/universal/update_overlays()
|
||||
. = list()
|
||||
alpha = 255
|
||||
. += SSair.icon_manager.get_atmos_icon("pipe", , pipe_color, "universal")
|
||||
. += SSair.icon_manager.get_atmos_icon("pipe", color = pipe_color, state = "universal")
|
||||
update_underlays()
|
||||
|
||||
/obj/machinery/atmospherics/pipe/simple/visible/universal/update_underlays()
|
||||
@@ -70,9 +70,9 @@
|
||||
universal_underlays(node2)
|
||||
else
|
||||
var/node1_dir = get_dir(node1,src)
|
||||
universal_underlays(,node1_dir)
|
||||
universal_underlays(direction = node1_dir)
|
||||
else if(node2)
|
||||
universal_underlays(node2)
|
||||
else
|
||||
universal_underlays(,dir)
|
||||
universal_underlays(,turn(dir, -180))
|
||||
universal_underlays(direction = dir)
|
||||
universal_underlays(direction = turn(dir, -180))
|
||||
|
||||
@@ -1,42 +1,46 @@
|
||||
/datum/canister_icons
|
||||
var
|
||||
possiblemaincolor = list( //these lists contain the possible colors of a canister
|
||||
list("name" = "\[N2O\]", "icon" = "redws"),
|
||||
list("name" = "\[N2\]", "icon" = "red"),
|
||||
list("name" = "\[O2\]", "icon" = "blue"),
|
||||
list("name" = "\[Toxin (Bio)\]", "icon" = "orange"),
|
||||
list("name" = "\[CO2\]", "icon" = "black"),
|
||||
list("name" = "\[Air\]", "icon" = "grey"),
|
||||
list("name" = "\[CAUTION\]", "icon" = "yellow"),
|
||||
list("name" = "\[SPECIAL\]", "icon" = "whiters")
|
||||
)
|
||||
possibleseccolor = list( // no point in having the N2O and "whiters" ones in these lists
|
||||
list("name" = "\[None\]", "icon" = "none"),
|
||||
list("name" = "\[N2\]", "icon" = "red-c"),
|
||||
list("name" = "\[O2\]", "icon" = "blue-c"),
|
||||
list("name" = "\[Toxin (Bio)\]", "icon" = "orange-c"),
|
||||
list("name" = "\[CO2\]", "icon" = "black-c"),
|
||||
list("name" = "\[Air\]", "icon" = "grey-c"),
|
||||
list("name" = "\[CAUTION\]", "icon" = "yellow-c")
|
||||
)
|
||||
possibletertcolor = list(
|
||||
list("name" = "\[None\]", "icon" = "none"),
|
||||
list("name" = "\[N2\]", "icon" = "red-c-1"),
|
||||
list("name" = "\[O2\]", "icon" = "blue-c-1"),
|
||||
list("name" = "\[Toxin (Bio)\]", "icon" = "orange-c-1"),
|
||||
list("name" = "\[CO2\]", "icon" = "black-c-1"),
|
||||
list("name" = "\[Air\]", "icon" = "grey-c-1"),
|
||||
list("name" = "\[CAUTION\]", "icon" = "yellow-c-1")
|
||||
)
|
||||
possiblequartcolor = list(
|
||||
list("name" = "\[None\]", "icon" = "none"),
|
||||
list("name" = "\[N2\]", "icon" = "red-c-2"),
|
||||
list("name" = "\[O2\]", "icon" = "blue-c-2"),
|
||||
list("name" = "\[Toxin (Bio)\]", "icon" = "orange-c-2"),
|
||||
list("name" = "\[CO2\]", "icon" = "black-c-2"),
|
||||
list("name" = "\[Air\]", "icon" = "grey-c-2"),
|
||||
list("name" = "\[CAUTION\]", "icon" = "yellow-c-2")
|
||||
)
|
||||
var/list/possiblemaincolor = list( //these lists contain the possible colors of a canister
|
||||
list("name" = "\[N2O\]", "icon" = "redws"),
|
||||
list("name" = "\[N2\]", "icon" = "red"),
|
||||
list("name" = "\[O2\]", "icon" = "blue"),
|
||||
list("name" = "\[Toxin (Bio)\]", "icon" = "orange"),
|
||||
list("name" = "\[CO2\]", "icon" = "black"),
|
||||
list("name" = "\[Air\]", "icon" = "grey"),
|
||||
list("name" = "\[CAUTION\]", "icon" = "yellow"),
|
||||
list("name" = "\[SPECIAL\]", "icon" = "whiters")
|
||||
)
|
||||
|
||||
var/list/possibleseccolor = list( // no point in having the N2O and "whiters" ones in these lists
|
||||
list("name" = "\[None\]", "icon" = "none"),
|
||||
list("name" = "\[N2\]", "icon" = "red-c"),
|
||||
list("name" = "\[O2\]", "icon" = "blue-c"),
|
||||
list("name" = "\[Toxin (Bio)\]", "icon" = "orange-c"),
|
||||
list("name" = "\[CO2\]", "icon" = "black-c"),
|
||||
list("name" = "\[Air\]", "icon" = "grey-c"),
|
||||
list("name" = "\[CAUTION\]", "icon" = "yellow-c")
|
||||
)
|
||||
|
||||
var/list/possibletertcolor = list(
|
||||
list("name" = "\[None\]", "icon" = "none"),
|
||||
list("name" = "\[N2\]", "icon" = "red-c-1"),
|
||||
list("name" = "\[O2\]", "icon" = "blue-c-1"),
|
||||
list("name" = "\[Toxin (Bio)\]", "icon" = "orange-c-1"),
|
||||
list("name" = "\[CO2\]", "icon" = "black-c-1"),
|
||||
list("name" = "\[Air\]", "icon" = "grey-c-1"),
|
||||
list("name" = "\[CAUTION\]", "icon" = "yellow-c-1")
|
||||
)
|
||||
|
||||
var/list/possiblequartcolor = list(
|
||||
list("name" = "\[None\]", "icon" = "none"),
|
||||
list("name" = "\[N2\]", "icon" = "red-c-2"),
|
||||
list("name" = "\[O2\]", "icon" = "blue-c-2"),
|
||||
list("name" = "\[Toxin (Bio)\]", "icon" = "orange-c-2"),
|
||||
list("name" = "\[CO2\]", "icon" = "black-c-2"),
|
||||
list("name" = "\[Air\]", "icon" = "grey-c-2"),
|
||||
list("name" = "\[CAUTION\]", "icon" = "yellow-c-2")
|
||||
)
|
||||
|
||||
|
||||
GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
|
||||
#define HOLDING_TANK 1
|
||||
@@ -48,7 +52,7 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
#define NEW_COLOR 64
|
||||
#define RESET 68
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister
|
||||
/obj/machinery/atmospherics/portable/canister
|
||||
name = "canister"
|
||||
icon = 'icons/obj/atmos.dmi'
|
||||
icon_state = "yellow"
|
||||
@@ -80,15 +84,18 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
var/release_log = ""
|
||||
var/update_flag = NONE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/portable/canister/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
canister_color = list(
|
||||
"prim" = "yellow",
|
||||
"sec" = "none",
|
||||
"ter" = "none",
|
||||
"quart" = "none"
|
||||
)
|
||||
old_color = new /list()
|
||||
|
||||
old_color = list()
|
||||
|
||||
colorcontainer = list(
|
||||
"prim" = list(
|
||||
"options" = GLOB.canister_icon_container.possiblemaincolor,
|
||||
@@ -107,18 +114,20 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
"name" = "Quaternary color",
|
||||
)
|
||||
)
|
||||
|
||||
color_index = list()
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/detailed_examine()
|
||||
/obj/machinery/atmospherics/portable/canister/detailed_examine()
|
||||
return "The canister can be connected to a connector port with a wrench. Tanks of gas (the kind you can hold in your hand) \
|
||||
can be filled by the canister, by using the tank on the canister, increasing the release pressure, then opening the valve until it is full, and then close it. \
|
||||
*DO NOT* remove the tank until the valve is closed. A gas analyzer can be used to check the contents of the canister."
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/detailed_examine_antag()
|
||||
/obj/machinery/atmospherics/portable/canister/detailed_examine_antag()
|
||||
return "Canisters can be damaged, spilling their contents into the air, or you can just leave the release valve open."
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/proc/check_change()
|
||||
/obj/machinery/atmospherics/portable/canister/proc/check_change()
|
||||
var/old_flag = update_flag
|
||||
update_flag = NONE
|
||||
if(holding_tank)
|
||||
@@ -144,7 +153,7 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/update_icon_state()
|
||||
/obj/machinery/atmospherics/portable/canister/update_icon_state()
|
||||
/*
|
||||
(note: colors has to be applied every icon update)
|
||||
*/
|
||||
@@ -159,7 +168,7 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
if(!check_change()) //Returns FALSE if no change needed to icons.
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/update_overlays()
|
||||
/obj/machinery/atmospherics/portable/canister/update_overlays()
|
||||
. = ..()
|
||||
if(stat & BROKEN)
|
||||
return
|
||||
@@ -187,12 +196,12 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
update_flag &= ~RESET //the flag NEW_COLOR represents change, not states. As such, we have to reset them to be able to detect a change on the next go.
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
/obj/machinery/atmospherics/portable/canister/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > temperature_resistance)
|
||||
take_damage(5, BURN, 0)
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/deconstruct(disassembled = TRUE)
|
||||
/obj/machinery/atmospherics/portable/canister/deconstruct(disassembled = TRUE)
|
||||
if(!(flags & NODECONSTRUCT))
|
||||
if(!(stat & BROKEN))
|
||||
canister_break()
|
||||
@@ -202,12 +211,12 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
new /obj/item/stack/sheet/metal (loc, 5)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/obj_break(damage_flag)
|
||||
/obj/machinery/atmospherics/portable/canister/obj_break(damage_flag)
|
||||
if((stat & BROKEN) || (flags & NODECONSTRUCT))
|
||||
return
|
||||
canister_break()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/proc/canister_break()
|
||||
/obj/machinery/atmospherics/portable/canister/proc/canister_break()
|
||||
disconnect()
|
||||
var/datum/gas_mixture/expelled_gas = air_contents.remove(air_contents.total_moles())
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -223,7 +232,7 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
holding_tank.forceMove(T)
|
||||
holding_tank = null
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/process_atmos()
|
||||
/obj/machinery/atmospherics/portable/canister/process_atmos()
|
||||
if(stat & BROKEN)
|
||||
return
|
||||
|
||||
@@ -260,49 +269,50 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
else
|
||||
can_label = FALSE
|
||||
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/return_air()
|
||||
/obj/machinery/atmospherics/portable/canister/return_air()
|
||||
return air_contents
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/proc/return_temperature()
|
||||
/obj/machinery/atmospherics/portable/canister/proc/return_temperature()
|
||||
var/datum/gas_mixture/GM = return_air()
|
||||
if(GM && GM.volume>0)
|
||||
return GM.temperature
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/proc/return_pressure()
|
||||
/obj/machinery/atmospherics/portable/canister/proc/return_pressure()
|
||||
var/datum/gas_mixture/GM = return_air()
|
||||
if(GM && GM.volume>0)
|
||||
return GM.return_pressure()
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/replace_tank(mob/living/user, close_valve)
|
||||
/obj/machinery/atmospherics/portable/canister/replace_tank(mob/living/user, close_valve)
|
||||
. = ..()
|
||||
|
||||
if(.)
|
||||
if(close_valve)
|
||||
valve_open = FALSE
|
||||
update_icon()
|
||||
investigate_log("Valve was <b>closed</b> by [key_name(user)].<br>", "atmos")
|
||||
|
||||
else if(valve_open && holding_tank)
|
||||
investigate_log("[key_name(user)] started a transfer into [holding_tank].<br>", "atmos")
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/attack_ai(mob/user)
|
||||
/obj/machinery/atmospherics/portable/canister/attack_ai(mob/user)
|
||||
add_hiddenprint(user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/attack_ghost(mob/user)
|
||||
/obj/machinery/atmospherics/portable/canister/attack_ghost(mob/user)
|
||||
return ui_interact(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/attack_hand(mob/user)
|
||||
/obj/machinery/atmospherics/portable/canister/attack_hand(mob/user)
|
||||
return ui_interact(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = TRUE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.physical_state)
|
||||
/obj/machinery/atmospherics/portable/canister/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = TRUE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.physical_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "Canister", name, 600, 350, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/ui_data()
|
||||
/obj/machinery/atmospherics/portable/canister/ui_data()
|
||||
var/data = list()
|
||||
data["portConnected"] = connected_port ? TRUE : FALSE
|
||||
data["tankPressure"] = round(air_contents.return_pressure() ? air_contents.return_pressure() : 0)
|
||||
@@ -320,12 +330,14 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
data["holdingTank"] = list("name" = holding_tank.name, "tankPressure" = round(holding_tank.air_contents.return_pressure()))
|
||||
return data
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/ui_act(action, params)
|
||||
/obj/machinery/atmospherics/portable/canister/ui_act(action, params)
|
||||
if(..())
|
||||
return
|
||||
|
||||
var/can_min_release_pressure = round(ONE_ATMOSPHERE / 10)
|
||||
var/can_max_release_pressure = round(ONE_ATMOSPHERE * 10)
|
||||
. = TRUE
|
||||
|
||||
switch(action)
|
||||
if("relabel")
|
||||
if(can_label)
|
||||
@@ -338,6 +350,7 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
else
|
||||
to_chat(usr, "<span class='warning'>As you attempted to rename it the pressure rose!</span>")
|
||||
. = FALSE
|
||||
|
||||
if("pressure")
|
||||
var/pressure = params["pressure"]
|
||||
if(pressure == "reset")
|
||||
@@ -355,141 +368,152 @@ GLOBAL_DATUM_INIT(canister_icon_container, /datum/canister_icons, new())
|
||||
if(.)
|
||||
release_pressure = clamp(round(pressure), can_min_release_pressure, can_max_release_pressure)
|
||||
investigate_log("was set to [release_pressure] kPa by [key_name(usr)].", "atmos")
|
||||
|
||||
if("valve")
|
||||
var/logmsg
|
||||
valve_open = !valve_open
|
||||
if(valve_open)
|
||||
logmsg = "Valve was <b>opened</b> by [key_name(usr)], starting a transfer into the [holding_tank || "air"].<br>"
|
||||
|
||||
if(!holding_tank)
|
||||
logmsg = "Valve was <b>opened</b> by [key_name(usr)], starting a transfer into the air.<br>"
|
||||
|
||||
if(air_contents.toxins > 0)
|
||||
message_admins("[key_name_admin(usr)] opened a canister that contains plasma in [get_area(src)]! (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
|
||||
log_admin("[key_name(usr)] opened a canister that contains plasma at [get_area(src)]: [x], [y], [z]")
|
||||
|
||||
if(air_contents.sleeping_agent > 0)
|
||||
message_admins("[key_name_admin(usr)] opened a canister that contains N2O in [get_area(src)]! (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
|
||||
log_admin("[key_name(usr)] opened a canister that contains N2O at [get_area(src)]: [x], [y], [z]")
|
||||
|
||||
else
|
||||
logmsg = "Valve was <b>closed</b> by [key_name(usr)], stopping the transfer into the [holding_tank || "air"].<br>"
|
||||
|
||||
investigate_log(logmsg, "atmos")
|
||||
release_log += logmsg
|
||||
|
||||
if("eject")
|
||||
if(holding_tank)
|
||||
if(valve_open)
|
||||
valve_open = FALSE
|
||||
release_log += "Valve was <b>closed</b> by [key_name(usr)], stopping the transfer into the [holding_tank]<br>"
|
||||
replace_tank(usr, FALSE)
|
||||
|
||||
if("recolor")
|
||||
if(can_label)
|
||||
var/ctype = params["ctype"]
|
||||
var/cnum = text2num(params["nc"])
|
||||
|
||||
if(isnull(colorcontainer[ctype]))
|
||||
message_admins("[key_name_admin(usr)] passed an invalid ctype var to a canister.")
|
||||
return
|
||||
|
||||
var/newcolor = sanitize_integer(cnum, 0, length(colorcontainer[ctype]["options"]))
|
||||
color_index[ctype] = newcolor
|
||||
newcolor++ // javascript starts arrays at 0, byond (for some reason) starts them at 1, this converts JS values to byond values
|
||||
canister_color[ctype] = colorcontainer[ctype]["options"][newcolor]["icon"]
|
||||
|
||||
add_fingerprint(usr)
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/atmospherics/portable/canister/atmos_init()
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/toxins
|
||||
/obj/machinery/atmospherics/portable/canister/toxins
|
||||
name = "Canister \[Toxin (Plasma)\]"
|
||||
icon_state = "orange" //See New()
|
||||
icon_state = "orange" //See Initialize()
|
||||
can_label = FALSE
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen
|
||||
name = "Canister: \[O2\]"
|
||||
icon_state = "blue" //See New()
|
||||
icon_state = "blue" //See Initialize()
|
||||
can_label = FALSE
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent
|
||||
name = "Canister: \[N2O\]"
|
||||
icon_state = "redws" //See New()
|
||||
icon_state = "redws" //See Initialize()
|
||||
can_label = FALSE
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen
|
||||
name = "Canister: \[N2\]"
|
||||
icon_state = "red" //See New()
|
||||
icon_state = "red" //See Initialize()
|
||||
can_label = FALSE
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide
|
||||
/obj/machinery/atmospherics/portable/canister/carbon_dioxide
|
||||
name = "Canister \[CO2\]"
|
||||
icon_state = "black" //See New()
|
||||
icon_state = "black" //See Initialize()
|
||||
can_label = FALSE
|
||||
/obj/machinery/portable_atmospherics/canister/air
|
||||
/obj/machinery/atmospherics/portable/canister/air
|
||||
name = "Canister \[Air\]"
|
||||
icon_state = "grey" //See New()
|
||||
icon_state = "grey" //See Initialize()
|
||||
can_label = FALSE
|
||||
/obj/machinery/portable_atmospherics/canister/custom_mix
|
||||
/obj/machinery/atmospherics/portable/canister/custom_mix
|
||||
name = "Canister \[Custom\]"
|
||||
icon_state = "whiters" //See New()
|
||||
icon_state = "whiters" //See Initialize()
|
||||
can_label = FALSE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/toxins/New()
|
||||
..()
|
||||
|
||||
/obj/machinery/atmospherics/portable/canister/toxins/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
canister_color["prim"] = "orange"
|
||||
air_contents.toxins = (maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/oxygen/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/portable/canister/oxygen/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
canister_color["prim"] = "blue"
|
||||
air_contents.oxygen = (maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/sleeping_agent/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/portable/canister/sleeping_agent/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
canister_color["prim"] = "redws"
|
||||
air_contents.sleeping_agent = (maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/nitrogen/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/portable/canister/nitrogen/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
canister_color["prim"] = "red"
|
||||
air_contents.nitrogen = (maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/carbon_dioxide/New()
|
||||
..()
|
||||
|
||||
/obj/machinery/atmospherics/portable/canister/carbon_dioxide/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
canister_color["prim"] = "black"
|
||||
air_contents.carbon_dioxide = (maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/air/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/portable/canister/air/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
canister_color["prim"] = "grey"
|
||||
air_contents.oxygen = (O2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
air_contents.nitrogen = (N2STANDARD * maximum_pressure * filled) * air_contents.volume / (R_IDEAL_GAS_EQUATION * air_contents.temperature)
|
||||
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/custom_mix/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/portable/canister/custom_mix/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
canister_color["prim"] = "whiters"
|
||||
update_icon() // Otherwise new canisters do not have their icon updated with the pressure light, likely want to add this to the canister class constructor, avoiding at current time to refrain from screwing up code for other canisters. --DZD
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/welder_act(mob/user, obj/item/I)
|
||||
/obj/machinery/atmospherics/portable/canister/welder_act(mob/user, obj/item/I)
|
||||
if(!(stat & BROKEN))
|
||||
return
|
||||
|
||||
. = TRUE
|
||||
if(!I.tool_use_check(user, 0))
|
||||
return
|
||||
|
||||
WELDER_ATTEMPT_SLICING_MESSAGE
|
||||
if(I.use_tool(src, user, 50, volume = I.tool_volume))
|
||||
to_chat(user, "<span class='notice'>You salvage whats left of [src]!</span>")
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
/obj/machinery/portable_atmospherics
|
||||
/obj/machinery/atmospherics/portable
|
||||
name = "atmoalter"
|
||||
anchored = FALSE
|
||||
layer = BELOW_OBJ_LAYER
|
||||
use_power = NO_POWER_USE
|
||||
max_integrity = 250
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 60, ACID = 30)
|
||||
@@ -10,40 +12,45 @@
|
||||
|
||||
var/volume = 0
|
||||
|
||||
var/maximum_pressure = 90*ONE_ATMOSPHERE
|
||||
var/maximum_pressure = 90 * ONE_ATMOSPHERE
|
||||
|
||||
/obj/machinery/portable_atmospherics/New()
|
||||
..()
|
||||
/obj/machinery/atmospherics/portable/Initialize(mapload)
|
||||
. = ..()
|
||||
SSair.atmos_machinery += src
|
||||
|
||||
air_contents.volume = volume
|
||||
air_contents.temperature = T20C
|
||||
|
||||
return TRUE
|
||||
if(mapload)
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/obj/machinery/portable_atmospherics/Initialize()
|
||||
. = ..()
|
||||
spawn()
|
||||
var/obj/machinery/atmospherics/unary/portables_connector/port = locate() in loc
|
||||
if(port)
|
||||
connect(port)
|
||||
update_icon()
|
||||
check_for_port()
|
||||
|
||||
/obj/machinery/portable_atmospherics/process_atmos()
|
||||
// Late init this otherwise it shares with the port and it tries to div temperature by 0
|
||||
/obj/machinery/atmospherics/portable/LateInitialize()
|
||||
check_for_port()
|
||||
|
||||
/obj/machinery/atmospherics/portable/proc/check_for_port()
|
||||
var/obj/machinery/atmospherics/unary/portables_connector/port = locate() in loc
|
||||
if(port)
|
||||
connect(port)
|
||||
|
||||
/obj/machinery/atmospherics/portable/process_atmos()
|
||||
if(!connected_port) //only react when pipe_network will ont it do it for you
|
||||
//Allow for reactions
|
||||
air_contents.react()
|
||||
else
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/Destroy()
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/atmospherics/portable/Destroy()
|
||||
SSair.atmos_machinery -= src
|
||||
disconnect()
|
||||
QDEL_NULL(air_contents)
|
||||
QDEL_NULL(holding_tank)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/proc/connect(obj/machinery/atmospherics/unary/portables_connector/new_port)
|
||||
/obj/machinery/atmospherics/portable/proc/connect(obj/machinery/atmospherics/unary/portables_connector/new_port)
|
||||
//Make sure not already connected to something else
|
||||
if(connected_port || !new_port || new_port.connected_device)
|
||||
return
|
||||
@@ -65,7 +72,7 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/proc/disconnect()
|
||||
/obj/machinery/atmospherics/portable/disconnect()
|
||||
if(!connected_port)
|
||||
return
|
||||
|
||||
@@ -76,10 +83,10 @@
|
||||
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/portableConnectorReturnAir()
|
||||
/obj/machinery/atmospherics/portable/portableConnectorReturnAir()
|
||||
return air_contents
|
||||
|
||||
/obj/machinery/portable_atmospherics/AltClick(mob/living/user)
|
||||
/obj/machinery/atmospherics/portable/AltClick(mob/living/user)
|
||||
if(!istype(user) || user.incapacitated())
|
||||
to_chat(user, "<span class='warning'>You can't do that right now!</span>")
|
||||
return
|
||||
@@ -91,12 +98,12 @@
|
||||
to_chat(user, "<span class='notice'>You remove [holding_tank] from [src].</span>")
|
||||
replace_tank(user, TRUE)
|
||||
|
||||
/obj/machinery/portable_atmospherics/examine(mob/user)
|
||||
/obj/machinery/atmospherics/portable/examine(mob/user)
|
||||
. = ..()
|
||||
if(holding_tank)
|
||||
. += "<span class='notice'>\The [src] contains [holding_tank]. Alt-click [src] to remove it.</span>"
|
||||
|
||||
/obj/machinery/portable_atmospherics/proc/replace_tank(mob/living/user, close_valve, obj/item/tank/new_tank)
|
||||
/obj/machinery/atmospherics/portable/proc/replace_tank(mob/living/user, close_valve, obj/item/tank/new_tank)
|
||||
if(holding_tank)
|
||||
holding_tank.forceMove(drop_location())
|
||||
if(Adjacent(user) && !issilicon(user))
|
||||
@@ -108,7 +115,7 @@
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/portable_atmospherics/attackby(obj/item/W, mob/user, params)
|
||||
/obj/machinery/atmospherics/portable/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/tank))
|
||||
if(!(stat & BROKEN))
|
||||
if(!user.drop_item())
|
||||
@@ -127,7 +134,7 @@
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/wrench_act(mob/user, obj/item/I)
|
||||
/obj/machinery/atmospherics/portable/wrench_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
|
||||
return
|
||||
@@ -148,7 +155,7 @@
|
||||
else
|
||||
to_chat(user, "<span class='notice'>Nothing happens.</span>")
|
||||
|
||||
/obj/machinery/portable_atmospherics/attacked_by(obj/item/I, mob/user)
|
||||
/obj/machinery/atmospherics/portable/attacked_by(obj/item/I, mob/user)
|
||||
if(I.force < 10 && !(stat & BROKEN))
|
||||
take_damage(0)
|
||||
else
|
||||
|
||||
@@ -6,35 +6,33 @@
|
||||
/// The pump will be pumping gas out.
|
||||
#define DIRECTION_OUT 1
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump
|
||||
/obj/machinery/atmospherics/portable/pump
|
||||
name = "Portable Air Pump"
|
||||
icon = 'icons/obj/atmos.dmi'
|
||||
icon_state = "psiphon:0"
|
||||
density = TRUE
|
||||
volume = 1000
|
||||
/// If the pump is turned on or off.
|
||||
var/on = FALSE
|
||||
/// The direction the pump is operating in. This should be either `DIRECTION_IN` or `DIRECTION_OUT`.
|
||||
var/direction = DIRECTION_IN
|
||||
/// The desired pressure the pump should be outputting, either into the atmosphere, or into a holding tank.
|
||||
var/target_pressure = 101.325
|
||||
target_pressure = 101.325
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/detailed_examine()
|
||||
/obj/machinery/atmospherics/portable/pump/detailed_examine()
|
||||
return "Invaluable for filling air in a room rapidly after a breach repair. The internal gas container can be filled by \
|
||||
connecting it to a connector port. The pump can pump the air in (sucking) or out (blowing), at a specific target pressure. The powercell inside can be \
|
||||
replaced by using a screwdriver, and then adding a new cell. A tank of gas can also be attached to the air pump."
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/update_icon_state()
|
||||
/obj/machinery/atmospherics/portable/pump/update_icon_state()
|
||||
icon_state = "psiphon:[on]"
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/update_overlays()
|
||||
/obj/machinery/atmospherics/portable/pump/update_overlays()
|
||||
. = ..()
|
||||
if(holding_tank)
|
||||
. += "siphon-open"
|
||||
if(connected_port)
|
||||
. += "siphon-connector"
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/emp_act(severity)
|
||||
/obj/machinery/atmospherics/portable/pump/emp_act(severity)
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
..(severity)
|
||||
return
|
||||
@@ -50,7 +48,7 @@
|
||||
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/process_atmos()
|
||||
/obj/machinery/atmospherics/portable/pump/process_atmos()
|
||||
..()
|
||||
if(on)
|
||||
var/datum/gas_mixture/environment
|
||||
@@ -94,10 +92,10 @@
|
||||
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/return_air()
|
||||
/obj/machinery/atmospherics/portable/pump/return_air()
|
||||
return air_contents
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/replace_tank(mob/living/user, close_valve)
|
||||
/obj/machinery/atmospherics/portable/pump/replace_tank(mob/living/user, close_valve)
|
||||
. = ..()
|
||||
if(.)
|
||||
if(close_valve)
|
||||
@@ -107,23 +105,23 @@
|
||||
else if(on && holding_tank && direction == DIRECTION_OUT)
|
||||
investigate_log("[key_name(user)] started a transfer into [holding_tank].<br>", "atmos")
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/attack_ai(mob/user)
|
||||
/obj/machinery/atmospherics/portable/pump/attack_ai(mob/user)
|
||||
add_hiddenprint(user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/attack_ghost(mob/user)
|
||||
/obj/machinery/atmospherics/portable/pump/attack_ghost(mob/user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/attack_hand(mob/user)
|
||||
/obj/machinery/atmospherics/portable/pump/attack_hand(mob/user)
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
/obj/machinery/atmospherics/portable/pump/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "PortablePump", "Portable Pump", 434, 377, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/ui_data(mob/user)
|
||||
/obj/machinery/atmospherics/portable/pump/ui_data(mob/user)
|
||||
var/list/data = list(
|
||||
"on" = on,
|
||||
"direction" = direction,
|
||||
@@ -140,7 +138,7 @@
|
||||
|
||||
return data
|
||||
|
||||
/obj/machinery/portable_atmospherics/pump/ui_act(action, list/params)
|
||||
/obj/machinery/atmospherics/portable/pump/ui_act(action, list/params)
|
||||
if(..())
|
||||
return
|
||||
|
||||
|
||||
@@ -1,25 +1,23 @@
|
||||
|
||||
#define MAX_RATE 10 * ONE_ATMOSPHERE
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber
|
||||
/obj/machinery/atmospherics/portable/scrubber
|
||||
name = "Portable Air Scrubber"
|
||||
icon = 'icons/obj/atmos.dmi'
|
||||
icon_state = "pscrubber:0"
|
||||
density = TRUE
|
||||
volume = 750
|
||||
/// Whether the scrubber is switched on or off.
|
||||
var/on = FALSE
|
||||
/// The volume of gas that can be scrubbed every time `process_atmos()` is called (0.5 seconds).
|
||||
var/volume_rate = 101.325
|
||||
/// Is this scrubber acting on the 3x3 area around it.
|
||||
var/widenet = FALSE
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/detailed_examine()
|
||||
/obj/machinery/atmospherics/portable/scrubber/detailed_examine()
|
||||
return "Filters the air, placing harmful gases into the internal gas container. The container can be emptied by \
|
||||
connecting it to a connector port. The pump can pump the air in (sucking) or out (blowing), at a specific target pressure. The powercell inside can be \
|
||||
replaced by using a screwdriver, and then adding a new cell. A tank of gas can also be attached to the scrubber."
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/emp_act(severity)
|
||||
/obj/machinery/atmospherics/portable/scrubber/emp_act(severity)
|
||||
if(stat & (BROKEN|NOPOWER))
|
||||
..(severity)
|
||||
return
|
||||
@@ -30,20 +28,20 @@
|
||||
|
||||
..(severity)
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/update_icon_state()
|
||||
/obj/machinery/atmospherics/portable/scrubber/update_icon_state()
|
||||
if(on)
|
||||
icon_state = "pscrubber:1"
|
||||
else
|
||||
icon_state = "pscrubber:0"
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/update_overlays()
|
||||
/obj/machinery/atmospherics/portable/scrubber/update_overlays()
|
||||
. = ..()
|
||||
if(holding_tank)
|
||||
. += "scrubber-open"
|
||||
if(connected_port)
|
||||
. += "scrubber-connector"
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/process_atmos()
|
||||
/obj/machinery/atmospherics/portable/scrubber/process_atmos()
|
||||
..()
|
||||
|
||||
if(!on)
|
||||
@@ -55,7 +53,7 @@
|
||||
for(var/turf/simulated/tile in T.GetAtmosAdjacentTurfs(alldir=1))
|
||||
scrub(tile)
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/proc/scrub(turf/simulated/tile)
|
||||
/obj/machinery/atmospherics/portable/scrubber/proc/scrub(turf/simulated/tile)
|
||||
var/datum/gas_mixture/environment
|
||||
if(holding_tank)
|
||||
environment = holding_tank.air_contents
|
||||
@@ -98,28 +96,28 @@
|
||||
tile.assume_air(removed)
|
||||
tile.air_update_turf()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/return_air()
|
||||
/obj/machinery/atmospherics/portable/scrubber/return_air()
|
||||
return air_contents
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/attack_ai(mob/user)
|
||||
/obj/machinery/atmospherics/portable/scrubber/attack_ai(mob/user)
|
||||
add_hiddenprint(user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/attack_ghost(mob/user)
|
||||
/obj/machinery/atmospherics/portable/scrubber/attack_ghost(mob/user)
|
||||
return attack_hand(user)
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/attack_hand(mob/user)
|
||||
/obj/machinery/atmospherics/portable/scrubber/attack_hand(mob/user)
|
||||
ui_interact(user)
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
/obj/machinery/atmospherics/portable/scrubber/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "PortableScrubber", "Portable Scrubber", 433, 346, master_ui, state)
|
||||
ui.open()
|
||||
ui.set_autoupdate(TRUE)
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/ui_data(mob/user)
|
||||
/obj/machinery/atmospherics/portable/scrubber/ui_data(mob/user)
|
||||
var/list/data = list(
|
||||
"on" = on,
|
||||
"port_connected" = connected_port ? TRUE : FALSE,
|
||||
@@ -135,7 +133,7 @@
|
||||
|
||||
return data
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/ui_act(action, list/params)
|
||||
/obj/machinery/atmospherics/portable/scrubber/ui_act(action, list/params)
|
||||
if(..())
|
||||
return
|
||||
|
||||
@@ -158,7 +156,7 @@
|
||||
|
||||
add_fingerprint(usr)
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge
|
||||
name = "Huge Air Scrubber"
|
||||
icon_state = "scrubber:0"
|
||||
anchored = TRUE
|
||||
@@ -170,26 +168,26 @@
|
||||
var/id = 0
|
||||
var/stationary = FALSE
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/New()
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge/New()
|
||||
..()
|
||||
id = gid
|
||||
gid++
|
||||
|
||||
name = "[name] (ID [id])"
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/attack_hand(mob/user)
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge/attack_hand(mob/user)
|
||||
to_chat(usr, "<span class='warning'>You can't directly interact with this machine. Use the area atmos computer.</span>")
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/update_icon_state()
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge/update_icon_state()
|
||||
icon_state = "scrubber:[on]"
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/attackby(obj/item/W, mob/user, params)
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge/attackby(obj/item/W, mob/user, params)
|
||||
if((istype(W, /obj/item/analyzer)) && get_dist(user, src) <= 1)
|
||||
atmosanalyzer_scan(air_contents, user)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/wrench_act(mob/user, obj/item/I)
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge/wrench_act(mob/user, obj/item/I)
|
||||
. = TRUE
|
||||
if(stationary)
|
||||
to_chat(user, "<span class='warning'>The bolts are too tight for you to unscrew!</span>")
|
||||
@@ -202,7 +200,7 @@
|
||||
anchored = !anchored
|
||||
to_chat(user, "<span class='notice'>You [anchored ? "wrench" : "unwrench"] [src].</span>")
|
||||
|
||||
/obj/machinery/portable_atmospherics/scrubber/huge/stationary
|
||||
/obj/machinery/atmospherics/portable/scrubber/huge/stationary
|
||||
name = "Stationary Air Scrubber"
|
||||
stationary = TRUE
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@
|
||||
color = "#00ff80"
|
||||
|
||||
/obj/effect/countdown/supermatter/get_value()
|
||||
var/obj/machinery/power/supermatter_crystal/S = attached_to
|
||||
var/obj/machinery/atmospherics/supermatter_crystal/S = attached_to
|
||||
if(!istype(S))
|
||||
return
|
||||
return "<div align='center' valign='middle' style='position:relative; top:0px; left:0px'>[round(S.get_integrity(), 1)]%</div>"
|
||||
|
||||
@@ -178,28 +178,35 @@ GLOBAL_DATUM(error_cache, /datum/ErrorViewer/ErrorCache)
|
||||
/datum/ErrorViewer/ErrorEntry/showTo(user, datum/ErrorViewer/back_to, linear)
|
||||
if(!istype(back_to))
|
||||
back_to = error_source
|
||||
|
||||
var/html = buildHeader(back_to, linear)
|
||||
html += "<div class='bad'><b>Be sure to censor out ckeys when copying runtimes!</b></div><br>"
|
||||
html += "<div class='runtime'>[html_encode(name)]<br>[desc]</div>"
|
||||
|
||||
if(srcRef)
|
||||
html += "<br>src: <a href='?_src_=vars;Vars=[srcUID]'>VV</a>"
|
||||
|
||||
if(ispath(srcType, /mob))
|
||||
html += " <a href='?_src_=holder;adminplayeropts=[srcUID]'>PP</a>"
|
||||
html += " <a href='?_src_=holder;adminplayerobservefollow=[srcUID]'>Follow</a>"
|
||||
|
||||
if(istype(srcLoc))
|
||||
html += "<br>src.loc: <a href='?_src_=vars;Vars=[srcLoc.UID()]'>VV</a>"
|
||||
html += " <a href='?_src_=holder;adminplayerobservecoodjump=1;X=[srcLoc.x];Y=[srcLoc.y];Z=[srcLoc.z]'>JMP</a>"
|
||||
|
||||
if(usrRef)
|
||||
html += "<br>usr: <a href='?_src_=vars;Vars=[usrUID]'>VV</a>"
|
||||
html += " <a href='?_src_=holder;adminplayeropts=[usrUID]'>PP</a>"
|
||||
html += " <a href='?_src_=holder;adminplayerobservefollow=[usrUID]'>Follow</a>"
|
||||
|
||||
if(istype(usrLoc))
|
||||
html += "<br>usr.loc: <a href='?_src_=vars;Vars=[usrLoc.UID()]'>VV</a>"
|
||||
html += " <a href='?_src_=holder;adminplayerobservecoodjump=1;X=[usrLoc.x];Y=[usrLoc.y];Z=[usrLoc.z]'>JMP</a>"
|
||||
|
||||
browseTo(user, html)
|
||||
|
||||
/datum/ErrorViewer/ErrorEntry/makeLink(linktext, datum/ErrorViewer/back_to, linear)
|
||||
if(isSkipCount)
|
||||
return html_encode(name)
|
||||
else
|
||||
return ..()
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -121,8 +121,8 @@
|
||||
if(istype(A, /obj/item/tank))
|
||||
var/obj/item/tank/T = A
|
||||
pda.atmosanalyzer_scan(T.air_contents, user, T)
|
||||
else if(istype(A, /obj/machinery/portable_atmospherics))
|
||||
var/obj/machinery/portable_atmospherics/T = A
|
||||
else if(istype(A, /obj/machinery/atmospherics/portable))
|
||||
var/obj/machinery/atmospherics/portable/T = A
|
||||
pda.atmosanalyzer_scan(T.air_contents, user, T)
|
||||
else if(istype(A, /obj/machinery/atmospherics/pipe))
|
||||
var/obj/machinery/atmospherics/pipe/T = A
|
||||
@@ -135,8 +135,8 @@
|
||||
var/obj/item/flamethrower/T = A
|
||||
if(T.ptank)
|
||||
pda.atmosanalyzer_scan(T.ptank.air_contents, user, T)
|
||||
else if(istype(A, /obj/machinery/portable_atmospherics/scrubber/huge))
|
||||
var/obj/machinery/portable_atmospherics/scrubber/huge/T = A
|
||||
else if(istype(A, /obj/machinery/atmospherics/portable/scrubber/huge))
|
||||
var/obj/machinery/atmospherics/portable/scrubber/huge/T = A
|
||||
pda.atmosanalyzer_scan(T.air_contents, user, T)
|
||||
else if(istype(A, /obj/machinery/atmospherics/unary/tank))
|
||||
var/obj/machinery/atmospherics/unary/tank/T = A
|
||||
|
||||
@@ -275,7 +275,7 @@
|
||||
/obj/singularity/proc/consume(atom/A)
|
||||
var/gain = A.singularity_act(current_size)
|
||||
src.energy += gain
|
||||
if(istype(A, /obj/machinery/power/supermatter_crystal) && !consumedSupermatter)
|
||||
if(istype(A, /obj/machinery/atmospherics/supermatter_crystal) && !consumedSupermatter)
|
||||
desc = "[initial(desc)] It glows fiercely with inner fire."
|
||||
name = "supermatter-charged [initial(name)]"
|
||||
consumedSupermatter = TRUE
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
#define MAX_SPACE_EXPOSURE_DAMAGE 2
|
||||
|
||||
/obj/machinery/power/supermatter_crystal
|
||||
/obj/machinery/atmospherics/supermatter_crystal
|
||||
name = "supermatter crystal"
|
||||
desc = "A strangely translucent and iridescent crystal."
|
||||
icon = 'icons/obj/supermatter.dmi'
|
||||
@@ -192,7 +192,7 @@
|
||||
///Disables the sm's proccessing totally.
|
||||
var/processes = TRUE
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/Initialize(mapload)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/Initialize(mapload)
|
||||
. = ..()
|
||||
supermatter_id = global_supermatter_id++
|
||||
SSair.atmos_machinery += src
|
||||
@@ -206,7 +206,7 @@
|
||||
|
||||
soundloop = new(list(src), TRUE)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/Destroy()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/Destroy()
|
||||
investigate_log("has been destroyed.", "supermatter")
|
||||
SSair.atmos_machinery -= src
|
||||
QDEL_NULL(radio)
|
||||
@@ -215,7 +215,7 @@
|
||||
QDEL_NULL(soundloop)
|
||||
return ..()
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/examine(mob/user)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/examine(mob/user)
|
||||
. = ..()
|
||||
if(!ishuman(user))
|
||||
return
|
||||
@@ -224,7 +224,7 @@
|
||||
if(!immune && !HAS_TRAIT(H, TRAIT_MESON_VISION) && (get_dist(user, src) < HALLUCINATION_RANGE(power)))
|
||||
. += "<span class='danger'>You get headaches just from looking at it.</span>"
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/detailed_examine()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/detailed_examine()
|
||||
return "When energized by a laser (or something hitting it), it emits radiation and heat. If the heat reaches above 7000 kelvin, it will send an alert and start taking damage. \
|
||||
After integrity falls to zero percent, it will delaminate, causing a massive explosion, station-wide radiation spikes, and hallucinations. \
|
||||
Supermatter reacts badly to oxygen in the atmosphere. It'll also heat up really quick if it is in vacuum.<br>\
|
||||
@@ -236,12 +236,12 @@
|
||||
Touching the supermatter will result in *instant death*, with no corpse left behind! You can drag the supermatter, but anything else will kill you. \
|
||||
It is advised to obtain a genetic backup before trying to drag it."
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/detailed_examine_antag()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/detailed_examine_antag()
|
||||
return "Exposing the supermatter to oxygen or vacuum will cause it to start rapidly heating up. Sabotaging the supermatter and making it explode will \
|
||||
cause a period of lag as the explosion is processed by the server, as well as irradiating the entire station and causing hallucinations to happen. \
|
||||
Wearing radiation equipment will protect you from most of the delamination effects sans explosion."
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/get_status()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/get_status()
|
||||
var/turf/T = get_turf(src)
|
||||
if(!T)
|
||||
return SUPERMATTER_ERROR
|
||||
@@ -269,7 +269,7 @@
|
||||
return SUPERMATTER_NORMAL
|
||||
return SUPERMATTER_INACTIVE
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/alarm()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/alarm()
|
||||
switch(get_status())
|
||||
if(SUPERMATTER_DELAMINATING)
|
||||
playsound(src, 'sound/misc/bloblarm.ogg', 100, FALSE, 40, 30, falloff_distance = 10)
|
||||
@@ -280,13 +280,13 @@
|
||||
if(SUPERMATTER_WARNING)
|
||||
playsound(src, 'sound/machines/terminal_alert.ogg', 75)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/get_integrity()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/get_integrity()
|
||||
var/integrity = damage / explosion_point
|
||||
integrity = round(100 - integrity * 100, 0.01)
|
||||
integrity = integrity < 0 ? 0 : integrity
|
||||
return integrity
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/countdown()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/countdown()
|
||||
set waitfor = FALSE
|
||||
|
||||
if(final_countdown) // We're already doing it go away
|
||||
@@ -320,7 +320,7 @@
|
||||
|
||||
explode()
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/explode()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/explode()
|
||||
SSblackbox.record_feedback("amount", "supermatter_delaminations", 1)
|
||||
for(var/mob in GLOB.alive_mob_list)
|
||||
var/mob/living/L = mob
|
||||
@@ -358,7 +358,7 @@
|
||||
if(T)
|
||||
var/obj/singularity/energy_ball/E = new(T)
|
||||
E.energy = 200 //Gets us about 9 balls
|
||||
// else if(power > EVENT_POWER_PENALTY_THRESHOLD && prob(power/50) && !istype(src, /obj/machinery/power/supermatter_crystal/shard))
|
||||
// else if(power > EVENT_POWER_PENALTY_THRESHOLD && prob(power/50) && !istype(src, /obj/machinery/atmospherics/supermatter_crystal/shard))
|
||||
// var/datum/round_event_control/crystal_invasion/crystals = new/datum/round_event_control/crystal_invasion
|
||||
// crystals.runEvent()
|
||||
// return //No boom for me sir
|
||||
@@ -366,7 +366,7 @@
|
||||
explosion(get_turf(T), explosion_power * max(gasmix_power_ratio, 0.205) * 0.5 , explosion_power * max(gasmix_power_ratio, 0.205) + 2, explosion_power * max(gasmix_power_ratio, 0.205) + 4 , explosion_power * max(gasmix_power_ratio, 0.205) + 6, 1, 1)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/process_atmos()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/process_atmos()
|
||||
if(!processes) //Just fuck me up bro
|
||||
return
|
||||
var/turf/T = loc
|
||||
@@ -634,7 +634,7 @@
|
||||
|
||||
return 1
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/bullet_act(obj/item/projectile/Proj)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/bullet_act(obj/item/projectile/Proj)
|
||||
var/turf/L = loc
|
||||
if(!istype(L))
|
||||
return FALSE
|
||||
@@ -651,7 +651,7 @@
|
||||
damage += Proj.damage * bullet_energy
|
||||
return FALSE
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/singularity_act()
|
||||
/obj/machinery/atmospherics/supermatter_crystal/singularity_act()
|
||||
var/gain = 100
|
||||
investigate_log("Supermatter shard consumed by singularity.", "singulo")
|
||||
message_admins("Singularity has consumed a supermatter shard and can now become stage six.")
|
||||
@@ -664,7 +664,7 @@
|
||||
qdel(src)
|
||||
return gain
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/blob_act(obj/structure/blob/B)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/blob_act(obj/structure/blob/B)
|
||||
if(B && !isspaceturf(loc)) //does nothing in space
|
||||
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE)
|
||||
damage += B.obj_integrity * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us
|
||||
@@ -677,7 +677,7 @@
|
||||
"<span class='italics'>You hear a loud crack as you are washed with a wave of heat.</span>")
|
||||
Consume(B)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/attack_tk(mob/user)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/attack_tk(mob/user)
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
to_chat(C, "<span class='userdanger'>That was a really dense idea.</span>")
|
||||
@@ -687,10 +687,10 @@
|
||||
B.remove(C)
|
||||
qdel(B)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/attack_alien(mob/user)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/attack_alien(mob/user)
|
||||
dust_mob(user, cause = "alien attack")
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/attack_animal(mob/living/simple_animal/S)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/attack_animal(mob/living/simple_animal/S)
|
||||
var/murder
|
||||
if(!S.melee_damage_upper && !S.melee_damage_lower)
|
||||
murder = S.friendly
|
||||
@@ -701,18 +701,18 @@
|
||||
"<span class='userdanger'>You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops.</span>", \
|
||||
"simple animal attack")
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/attack_robot(mob/user)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/attack_robot(mob/user)
|
||||
if(Adjacent(user))
|
||||
dust_mob(user, cause = "cyborg attack")
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/attack_ai(mob/user)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/attack_ai(mob/user)
|
||||
return
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/attack_hand(mob/living/user)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/attack_hand(mob/living/user)
|
||||
..()
|
||||
dust_mob(user, cause = "hand")
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/dust_mob(mob/living/nom, vis_msg, mob_msg, cause)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/dust_mob(mob/living/nom, vis_msg, mob_msg, cause)
|
||||
if(nom.incorporeal_move || nom.status_flags & GODMODE)
|
||||
return
|
||||
if(!vis_msg)
|
||||
@@ -726,7 +726,7 @@
|
||||
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE)
|
||||
Consume(nom)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/attackby(obj/item/I, mob/living/user, params)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/attackby(obj/item/I, mob/living/user, params)
|
||||
if(!istype(I) || (I.flags & ABSTRACT) || !istype(user))
|
||||
return
|
||||
if(moveable && default_unfasten_wrench(user, I, time = 20))
|
||||
@@ -769,7 +769,7 @@
|
||||
|
||||
radiation_pulse(src, 150, 4)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/Bumped(atom/movable/AM)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/Bumped(atom/movable/AM)
|
||||
if(isliving(AM))
|
||||
AM.visible_message("<span class='danger'>[AM] slams into [src] inducing a resonance... [AM.p_their()] body starts to glow and burst into flames before flashing into dust!</span>",\
|
||||
"<span class='userdanger'>You slam into [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"</span>",\
|
||||
@@ -783,7 +783,7 @@
|
||||
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE)
|
||||
Consume(AM)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/Consume(atom/movable/AM)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/Consume(atom/movable/AM)
|
||||
if(isliving(AM))
|
||||
var/mob/living/user = AM
|
||||
if(user.status_flags & GODMODE)
|
||||
@@ -802,7 +802,7 @@
|
||||
suspicion = "last touched by [AM.fingerprintslast]"
|
||||
message_admins("[src] has consumed [AM], [suspicion] [ADMIN_JMP(src)].")
|
||||
investigate_log("has consumed [AM] - [suspicion].", "supermatter")
|
||||
if(istype(AM, /obj/machinery/power/supermatter_crystal))
|
||||
if(istype(AM, /obj/machinery/atmospherics/supermatter_crystal))
|
||||
power += 5000//releases A LOT of power
|
||||
matter_power += 500000
|
||||
damage += 180//drops the integrety by 20%
|
||||
@@ -822,10 +822,10 @@
|
||||
else
|
||||
L.show_message("<span class='italics'>You hear an unearthly ringing and notice your skin is covered in fresh radiation burns.</span>", 2)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/engine
|
||||
/obj/machinery/atmospherics/supermatter_crystal/engine
|
||||
is_main_engine = TRUE
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/shard
|
||||
/obj/machinery/atmospherics/supermatter_crystal/shard
|
||||
name = "supermatter shard"
|
||||
desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure."
|
||||
base_icon_state = "darkmatter_shard"
|
||||
@@ -836,7 +836,7 @@
|
||||
layer = ABOVE_MOB_LAYER
|
||||
moveable = TRUE
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/shard/engine
|
||||
/obj/machinery/atmospherics/supermatter_crystal/shard/engine
|
||||
name = "anchored supermatter shard"
|
||||
is_main_engine = TRUE
|
||||
anchored = TRUE
|
||||
@@ -844,7 +844,7 @@
|
||||
|
||||
// When you wanna make a supermatter shard for the dramatic effect, but
|
||||
// don't want it exploding suddenly
|
||||
/obj/machinery/power/supermatter_crystal/shard/hugbox
|
||||
/obj/machinery/atmospherics/supermatter_crystal/shard/hugbox
|
||||
name = "anchored supermatter shard"
|
||||
takes_damage = FALSE
|
||||
produces_gas = FALSE
|
||||
@@ -853,12 +853,12 @@
|
||||
moveable = FALSE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/shard/hugbox/fakecrystal //Hugbox shard with crystal visuals, used in the Supermatter/Hyperfractal shuttle
|
||||
/obj/machinery/atmospherics/supermatter_crystal/shard/hugbox/fakecrystal //Hugbox shard with crystal visuals, used in the Supermatter/Hyperfractal shuttle
|
||||
name = "supermatter crystal"
|
||||
base_icon_state = "darkmatter"
|
||||
icon_state = "darkmatter"
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/supermatter_pull(turf/center, pull_range = 3)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/supermatter_pull(turf/center, pull_range = 3)
|
||||
playsound(center, 'sound/weapons/marauder.ogg', 100, TRUE, extrarange = pull_range - world.view, channel = CHANNEL_ENGINE)
|
||||
for(var/atom/movable/P in orange(pull_range,center))
|
||||
if((P.anchored || P.move_resist >= MOVE_FORCE_EXTREMELY_STRONG)) //move resist memes.
|
||||
@@ -876,7 +876,7 @@
|
||||
visible_message("<span class='danger'>[src]'s sheer force rips [M] away from [buckler]!</span>")
|
||||
step_towards(P,center)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/supermatter_anomaly_gen(turf/anomalycenter, type = FLUX_ANOMALY, anomalyrange = 5)
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/supermatter_anomaly_gen(turf/anomalycenter, type = FLUX_ANOMALY, anomalyrange = 5)
|
||||
var/turf/L = pick(orange(anomalyrange, anomalycenter))
|
||||
if(L)
|
||||
switch(type)
|
||||
@@ -888,7 +888,7 @@
|
||||
if(PYRO_ANOMALY)
|
||||
new /obj/effect/anomaly/pyro(L, 200, FALSE)
|
||||
|
||||
/obj/machinery/power/supermatter_crystal/proc/supermatter_zap(atom/zapstart = src, range = 5, zap_str = 4000, zap_flags = ZAP_SUPERMATTER_FLAGS, list/targets_hit = list())
|
||||
/obj/machinery/atmospherics/supermatter_crystal/proc/supermatter_zap(atom/zapstart = src, range = 5, zap_str = 4000, zap_flags = ZAP_SUPERMATTER_FLAGS, list/targets_hit = list())
|
||||
if(QDELETED(zapstart))
|
||||
return
|
||||
. = zapstart.dir
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
var/closest_type = 0
|
||||
var/static/things_to_shock = typecacheof(list(/obj/machinery, /mob/living, /obj/structure, /obj/vehicle))
|
||||
var/static/blacklisted_tesla_types = typecacheof(list(/obj/machinery/atmospherics,
|
||||
/obj/machinery/portable_atmospherics,
|
||||
/obj/machinery/atmospherics/portable,
|
||||
/obj/machinery/power/emitter,
|
||||
/obj/machinery/field/generator,
|
||||
/mob/living/simple_animal/slime,
|
||||
|
||||
@@ -2,21 +2,22 @@
|
||||
// Store Item
|
||||
/////////////////////////////
|
||||
/datum/storeitem
|
||||
var/name="Thing"
|
||||
var/desc="It's a thing."
|
||||
var/typepath=/obj/item/storage/box
|
||||
var/cost=0
|
||||
var/name = "Thing"
|
||||
var/desc = "It's a thing."
|
||||
var/typepath = /obj/item/storage/box
|
||||
var/cost = 0
|
||||
|
||||
/datum/storeitem/proc/deliver(mob/usr)
|
||||
/datum/storeitem/proc/deliver(mob/user)
|
||||
if(!istype(typepath,/obj/item/storage))
|
||||
var/obj/item/storage/box/box=new(usr.loc)
|
||||
var/obj/item/storage/box/box=new(user.loc)
|
||||
new typepath(box)
|
||||
box.name="[name] package"
|
||||
box.desc="A special gift for doing your job."
|
||||
usr.put_in_hands(box)
|
||||
user.put_in_hands(box)
|
||||
|
||||
else
|
||||
var/thing = new typepath(usr.loc)
|
||||
usr.put_in_hands(thing)
|
||||
var/thing = new typepath(user.loc)
|
||||
user.put_in_hands(thing)
|
||||
|
||||
|
||||
/////////////////////////////
|
||||
|
||||
@@ -52,14 +52,16 @@ GLOBAL_DATUM_INIT(centcomm_store, /datum/store, new())
|
||||
linked_db = DB
|
||||
break
|
||||
|
||||
/datum/store/proc/PlaceOrder(mob/living/usr, itemID)
|
||||
/datum/store/proc/PlaceOrder(mob/living/user, itemID)
|
||||
// Get our item, first.
|
||||
var/datum/storeitem/item = items[itemID]
|
||||
if(!item)
|
||||
return 0
|
||||
return FALSE
|
||||
|
||||
// Try to deduct funds.
|
||||
if(!charge(usr.mind,item.cost,item))
|
||||
return 0
|
||||
if(!charge(user.mind,item.cost,item))
|
||||
return FALSE
|
||||
|
||||
// Give them the item.
|
||||
item.deliver(usr)
|
||||
return 1
|
||||
item.deliver(user)
|
||||
return TRUE
|
||||
|
||||
Reference in New Issue
Block a user