From 91974cf2f8d7cc216269fc56043f8b27ea99f14e Mon Sep 17 00:00:00 2001 From: DreamySkrell <107256943+DreamySkrell@users.noreply.github.com> Date: Mon, 1 Apr 2024 16:45:14 +0200 Subject: [PATCH] Large Tank Marker (#18801) * tt * 2 * www * h * c * c * 4 --------- Co-authored-by: DreamySkrell <> --- aurorastation.dme | 2 + .../components/unary/vent_pump.dm | 3 +- .../effects/map_effects/marker/_defines.dm | 22 ++++--- .../effects/map_effects/marker/_marker.dm | 4 ++ .../effects/map_effects/marker/airlock_.dm | 36 +++++------ .../map_effects/marker/airlock_docking.dm | 38 ++++++------ .../map_effects/marker/airlock_shuttle.dm | 34 +++++----- .../effects/map_effects/marker/large_tank.dm | 58 ++++++++++++++++++ .../DreamySkrell-large-tank-marker.yml | 10 +++ icons/effects/map_effects.dmi | Bin 23379 -> 23485 bytes maps/away/ships/scc/scc_scout_ship.dmm | 41 +++++++------ maps/away/ships/yacht_civ/yacht_civ.dmm | 48 +++++++-------- 12 files changed, 186 insertions(+), 110 deletions(-) create mode 100644 code/modules/effects/map_effects/marker/_marker.dm create mode 100644 code/modules/effects/map_effects/marker/large_tank.dm create mode 100644 html/changelogs/DreamySkrell-large-tank-marker.yml diff --git a/aurorastation.dme b/aurorastation.dme index 4c939bd13ea..5ddf81d949d 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -2052,10 +2052,12 @@ #include "code\modules\effects\map_effects\sound_emitter.dm" #include "code\modules\effects\map_effects\window_spawner.dm" #include "code\modules\effects\map_effects\marker\_defines.dm" +#include "code\modules\effects\map_effects\marker\_marker.dm" #include "code\modules\effects\map_effects\marker\airlock_.dm" #include "code\modules\effects\map_effects\marker\airlock_docking.dm" #include "code\modules\effects\map_effects\marker\airlock_helper.dm" #include "code\modules\effects\map_effects\marker\airlock_shuttle.dm" +#include "code\modules\effects\map_effects\marker\large_tank.dm" #include "code\modules\effects\maze_generation\maze_generator.dm" #include "code\modules\effects\maze_generation\maze_generator_blockwise.dm" #include "code\modules\effects\maze_generation\maze_helper_atoms.dm" diff --git a/code/modules/atmospherics/components/unary/vent_pump.dm b/code/modules/atmospherics/components/unary/vent_pump.dm index b436c22448d..6414fb2579c 100644 --- a/code/modules/atmospherics/components/unary/vent_pump.dm +++ b/code/modules/atmospherics/components/unary/vent_pump.dm @@ -57,9 +57,10 @@ /obj/machinery/atmospherics/unary/vent_pump/siphon pump_direction = 0 + frequency = 1441 /obj/machinery/atmospherics/unary/vent_pump/siphon/atmos - icon_state = "map_vent_in" + icon_state = "map_vent" external_pressure_bound = 0 external_pressure_bound_default = 0 internal_pressure_bound = PRESSURE_ONE_THOUSAND * 2 diff --git a/code/modules/effects/map_effects/marker/_defines.dm b/code/modules/effects/map_effects/marker/_defines.dm index 059d67350fb..b29639fc50e 100644 --- a/code/modules/effects/map_effects/marker/_defines.dm +++ b/code/modules/effects/map_effects/marker/_defines.dm @@ -1,10 +1,14 @@ -#define AIRLOCK_MARKER_TAG_MASTER "[master_tag]" -#define AIRLOCK_MARKER_TAG_SENSOR_CHAMBER "[master_tag]_sensor_chamber" -#define AIRLOCK_MARKER_TAG_SENSOR_INTERIOR "[master_tag]_sensor_interior" -#define AIRLOCK_MARKER_TAG_SENSOR_EXTERIOR "[master_tag]_sensor_exterior" -#define AIRLOCK_MARKER_TAG_DOOR_EXTERIOR "[master_tag]_door_exterior" -#define AIRLOCK_MARKER_TAG_DOOR_INTERIOR "[master_tag]_door_interior" -#define AIRLOCK_MARKER_TAG_AIRPUMP_CHAMBER "[master_tag]_airpump_chamber" -#define AIRLOCK_MARKER_TAG_AIRPUMP_OUT_EXTERNAL "[master_tag]_pump_out_external" -#define AIRLOCK_MARKER_TAG_AIRPUMP_OUT_INTERNAL "[master_tag]_pump_out_internal" +#define MARKER_AIRLOCK_TAG_MASTER "[master_tag]" +#define MARKER_AIRLOCK_TAG_SENSOR_CHAMBER "[master_tag]_sensor_chamber" +#define MARKER_AIRLOCK_TAG_SENSOR_INTERIOR "[master_tag]_sensor_interior" +#define MARKER_AIRLOCK_TAG_SENSOR_EXTERIOR "[master_tag]_sensor_exterior" +#define MARKER_AIRLOCK_TAG_DOOR_EXTERIOR "[master_tag]_door_exterior" +#define MARKER_AIRLOCK_TAG_DOOR_INTERIOR "[master_tag]_door_interior" +#define MARKER_AIRLOCK_TAG_AIRPUMP_CHAMBER "[master_tag]_airpump_chamber" +#define MARKER_AIRLOCK_TAG_AIRPUMP_OUT_EXTERNAL "[master_tag]_pump_out_external" +#define MARKER_AIRLOCK_TAG_AIRPUMP_OUT_INTERNAL "[master_tag]_pump_out_internal" + +#define MARKER_LARGE_TANK_TAG_SENSOR "[master_tag]_sensor" +#define MARKER_LARGE_TANK_TAG_INJECTOR "[master_tag]_sensor_injector" +#define MARKER_LARGE_TANK_TAG_PUMP "[master_tag]_sensor_pump" diff --git a/code/modules/effects/map_effects/marker/_marker.dm b/code/modules/effects/map_effects/marker/_marker.dm new file mode 100644 index 00000000000..9fcad384568 --- /dev/null +++ b/code/modules/effects/map_effects/marker/_marker.dm @@ -0,0 +1,4 @@ +/obj/effect/map_effect/marker + name = "map marker parent abstract object" + icon = 'icons/effects/map_effects.dmi' + icon_state = "marker_base" diff --git a/code/modules/effects/map_effects/marker/airlock_.dm b/code/modules/effects/map_effects/marker/airlock_.dm index d0ead26ff62..158d75c8348 100644 --- a/code/modules/effects/map_effects/marker/airlock_.dm +++ b/code/modules/effects/map_effects/marker/airlock_.dm @@ -1,7 +1,3 @@ -/obj/effect/map_effect/marker - name = "map marker parent abstract object" - icon = 'icons/effects/map_effects.dmi' - icon_state = "marker_base" /// Airlock marker that, when placed above airlock components, actually sets them up to make it functional. /// This is a simple exterior access airlock, not used for docking. @@ -53,12 +49,12 @@ if(istype(controller)) // common controller vars controller.set_frequency(frequency) - controller.id_tag = AIRLOCK_MARKER_TAG_MASTER - controller.tag_airpump = AIRLOCK_MARKER_TAG_AIRPUMP_CHAMBER - controller.tag_chamber_sensor = AIRLOCK_MARKER_TAG_SENSOR_CHAMBER - controller.tag_exterior_sensor = AIRLOCK_MARKER_TAG_SENSOR_EXTERIOR - controller.tag_exterior_door = AIRLOCK_MARKER_TAG_DOOR_EXTERIOR - controller.tag_interior_door = AIRLOCK_MARKER_TAG_DOOR_INTERIOR + controller.id_tag = MARKER_AIRLOCK_TAG_MASTER + controller.tag_airpump = MARKER_AIRLOCK_TAG_AIRPUMP_CHAMBER + controller.tag_chamber_sensor = MARKER_AIRLOCK_TAG_SENSOR_CHAMBER + controller.tag_exterior_sensor = MARKER_AIRLOCK_TAG_SENSOR_EXTERIOR + controller.tag_exterior_door = MARKER_AIRLOCK_TAG_DOOR_EXTERIOR + controller.tag_interior_door = MARKER_AIRLOCK_TAG_DOOR_INTERIOR controller.cycle_to_external_air = cycle_to_external_air controller.req_access = req_access controller.req_one_access = req_one_access @@ -75,21 +71,21 @@ door.req_one_access = req_one_access door.lock() if(is_interior) - door.id_tag = AIRLOCK_MARKER_TAG_DOOR_INTERIOR + door.id_tag = MARKER_AIRLOCK_TAG_DOOR_INTERIOR else if(is_exterior) - door.id_tag = AIRLOCK_MARKER_TAG_DOOR_EXTERIOR + door.id_tag = MARKER_AIRLOCK_TAG_DOOR_EXTERIOR continue var/obj/machinery/airlock_sensor/sensor = thing if(istype(sensor)) sensor.set_frequency(frequency) - sensor.master_tag = AIRLOCK_MARKER_TAG_MASTER + sensor.master_tag = MARKER_AIRLOCK_TAG_MASTER if(is_interior) - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_INTERIOR + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_INTERIOR else if(is_exterior) - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_EXTERIOR + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_EXTERIOR else - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_CHAMBER + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_CHAMBER continue var/obj/machinery/atmospherics/unary/vent_pump/pump = thing @@ -98,17 +94,17 @@ unregister_radio(pump, frequency) pump.setup_radio() if(is_exterior) - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_OUT_EXTERNAL + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_OUT_EXTERNAL else if(is_out) - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_OUT_INTERNAL + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_OUT_INTERNAL else - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_CHAMBER + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_CHAMBER continue var/obj/machinery/access_button/button = thing if(istype(button)) button.set_frequency(frequency) - button.master_tag = AIRLOCK_MARKER_TAG_MASTER + button.master_tag = MARKER_AIRLOCK_TAG_MASTER button.req_access = req_access button.req_one_access = req_one_access if(is_interior) diff --git a/code/modules/effects/map_effects/marker/airlock_docking.dm b/code/modules/effects/map_effects/marker/airlock_docking.dm index 4de21ca35d2..63568378a57 100644 --- a/code/modules/effects/map_effects/marker/airlock_docking.dm +++ b/code/modules/effects/map_effects/marker/airlock_docking.dm @@ -41,12 +41,12 @@ if(istype(controller)) // common controller vars controller.set_frequency(frequency) - controller.id_tag = AIRLOCK_MARKER_TAG_MASTER - controller.tag_airpump = AIRLOCK_MARKER_TAG_AIRPUMP_CHAMBER - controller.tag_chamber_sensor = AIRLOCK_MARKER_TAG_SENSOR_CHAMBER - controller.tag_exterior_sensor = AIRLOCK_MARKER_TAG_SENSOR_EXTERIOR - controller.tag_exterior_door = AIRLOCK_MARKER_TAG_DOOR_EXTERIOR - controller.tag_interior_door = AIRLOCK_MARKER_TAG_DOOR_INTERIOR + controller.id_tag = MARKER_AIRLOCK_TAG_MASTER + controller.tag_airpump = MARKER_AIRLOCK_TAG_AIRPUMP_CHAMBER + controller.tag_chamber_sensor = MARKER_AIRLOCK_TAG_SENSOR_CHAMBER + controller.tag_exterior_sensor = MARKER_AIRLOCK_TAG_SENSOR_EXTERIOR + controller.tag_exterior_door = MARKER_AIRLOCK_TAG_DOOR_EXTERIOR + controller.tag_interior_door = MARKER_AIRLOCK_TAG_DOOR_INTERIOR controller.cycle_to_external_air = cycle_to_external_air controller.req_access = req_access controller.req_one_access = req_one_access @@ -56,13 +56,13 @@ controller.program = controller.docking_program if(SSshuttle.registered_shuttle_landmarks[landmark_tag]) var/obj/effect/shuttle_landmark/landmark = SSshuttle.registered_shuttle_landmarks[landmark_tag] - landmark.docking_controller = SSshuttle.docking_registry[AIRLOCK_MARKER_TAG_MASTER] + landmark.docking_controller = SSshuttle.docking_registry[MARKER_AIRLOCK_TAG_MASTER] continue var/obj/effect/shuttle_landmark/landmark = thing if(istype(landmark)) - if(SSshuttle.docking_registry[AIRLOCK_MARKER_TAG_MASTER]) - landmark.docking_controller = SSshuttle.docking_registry[AIRLOCK_MARKER_TAG_MASTER] + if(SSshuttle.docking_registry[MARKER_AIRLOCK_TAG_MASTER]) + landmark.docking_controller = SSshuttle.docking_registry[MARKER_AIRLOCK_TAG_MASTER] continue // and all the other airlock components @@ -74,21 +74,21 @@ door.req_one_access = req_one_access door.lock() if(is_interior) - door.id_tag = AIRLOCK_MARKER_TAG_DOOR_INTERIOR + door.id_tag = MARKER_AIRLOCK_TAG_DOOR_INTERIOR else if(is_exterior) - door.id_tag = AIRLOCK_MARKER_TAG_DOOR_EXTERIOR + door.id_tag = MARKER_AIRLOCK_TAG_DOOR_EXTERIOR continue var/obj/machinery/airlock_sensor/sensor = thing if(istype(sensor)) sensor.set_frequency(frequency) - sensor.master_tag = AIRLOCK_MARKER_TAG_MASTER + sensor.master_tag = MARKER_AIRLOCK_TAG_MASTER if(is_interior) - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_INTERIOR + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_INTERIOR else if(is_exterior) - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_EXTERIOR + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_EXTERIOR else - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_CHAMBER + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_CHAMBER continue var/obj/machinery/atmospherics/unary/vent_pump/pump = thing @@ -97,17 +97,17 @@ unregister_radio(pump, frequency) pump.setup_radio() if(is_exterior) - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_OUT_EXTERNAL + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_OUT_EXTERNAL else if(is_out) - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_OUT_INTERNAL + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_OUT_INTERNAL else - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_CHAMBER + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_CHAMBER continue var/obj/machinery/access_button/button = thing if(istype(button)) button.set_frequency(frequency) - button.master_tag = AIRLOCK_MARKER_TAG_MASTER + button.master_tag = MARKER_AIRLOCK_TAG_MASTER button.req_access = req_access button.req_one_access = req_one_access if(is_interior) diff --git a/code/modules/effects/map_effects/marker/airlock_shuttle.dm b/code/modules/effects/map_effects/marker/airlock_shuttle.dm index 5e66c134e80..4865a66a4a6 100644 --- a/code/modules/effects/map_effects/marker/airlock_shuttle.dm +++ b/code/modules/effects/map_effects/marker/airlock_shuttle.dm @@ -41,12 +41,12 @@ if(istype(controller)) // common controller vars controller.set_frequency(frequency) - controller.id_tag = AIRLOCK_MARKER_TAG_MASTER - controller.tag_airpump = AIRLOCK_MARKER_TAG_AIRPUMP_CHAMBER - controller.tag_chamber_sensor = AIRLOCK_MARKER_TAG_SENSOR_CHAMBER - controller.tag_exterior_sensor = AIRLOCK_MARKER_TAG_SENSOR_EXTERIOR - controller.tag_exterior_door = AIRLOCK_MARKER_TAG_DOOR_EXTERIOR - controller.tag_interior_door = AIRLOCK_MARKER_TAG_DOOR_INTERIOR + controller.id_tag = MARKER_AIRLOCK_TAG_MASTER + controller.tag_airpump = MARKER_AIRLOCK_TAG_AIRPUMP_CHAMBER + controller.tag_chamber_sensor = MARKER_AIRLOCK_TAG_SENSOR_CHAMBER + controller.tag_exterior_sensor = MARKER_AIRLOCK_TAG_SENSOR_EXTERIOR + controller.tag_exterior_door = MARKER_AIRLOCK_TAG_DOOR_EXTERIOR + controller.tag_interior_door = MARKER_AIRLOCK_TAG_DOOR_INTERIOR controller.cycle_to_external_air = cycle_to_external_air controller.req_access = req_access controller.req_one_access = req_one_access @@ -56,7 +56,7 @@ controller.program = controller.docking_program if(SSshuttle.shuttles[shuttle_tag]) var/datum/shuttle/autodock/shuttle = SSshuttle.shuttles[shuttle_tag] - shuttle.dock_target = AIRLOCK_MARKER_TAG_MASTER + shuttle.dock_target = MARKER_AIRLOCK_TAG_MASTER continue // and all the other airlock components @@ -68,21 +68,21 @@ door.req_one_access = req_one_access door.lock() if(is_interior) - door.id_tag = AIRLOCK_MARKER_TAG_DOOR_INTERIOR + door.id_tag = MARKER_AIRLOCK_TAG_DOOR_INTERIOR else if(is_exterior) - door.id_tag = AIRLOCK_MARKER_TAG_DOOR_EXTERIOR + door.id_tag = MARKER_AIRLOCK_TAG_DOOR_EXTERIOR continue var/obj/machinery/airlock_sensor/sensor = thing if(istype(sensor)) sensor.set_frequency(frequency) - sensor.master_tag = AIRLOCK_MARKER_TAG_MASTER + sensor.master_tag = MARKER_AIRLOCK_TAG_MASTER if(is_interior) - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_INTERIOR + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_INTERIOR else if(is_exterior) - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_EXTERIOR + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_EXTERIOR else - sensor.id_tag = AIRLOCK_MARKER_TAG_SENSOR_CHAMBER + sensor.id_tag = MARKER_AIRLOCK_TAG_SENSOR_CHAMBER continue var/obj/machinery/atmospherics/unary/vent_pump/pump = thing @@ -91,17 +91,17 @@ unregister_radio(pump, frequency) pump.setup_radio() if(is_exterior) - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_OUT_EXTERNAL + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_OUT_EXTERNAL else if(is_out) - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_OUT_INTERNAL + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_OUT_INTERNAL else - pump.id_tag = AIRLOCK_MARKER_TAG_AIRPUMP_CHAMBER + pump.id_tag = MARKER_AIRLOCK_TAG_AIRPUMP_CHAMBER continue var/obj/machinery/access_button/button = thing if(istype(button)) button.set_frequency(frequency) - button.master_tag = AIRLOCK_MARKER_TAG_MASTER + button.master_tag = MARKER_AIRLOCK_TAG_MASTER button.req_access = req_access button.req_one_access = req_one_access if(is_interior) diff --git a/code/modules/effects/map_effects/marker/large_tank.dm b/code/modules/effects/map_effects/marker/large_tank.dm new file mode 100644 index 00000000000..89afba4a4b3 --- /dev/null +++ b/code/modules/effects/map_effects/marker/large_tank.dm @@ -0,0 +1,58 @@ + +/// Large tank marker, used to set up "large tanks", that being multi-tile tanks of gas, +/// with its own control console, sensor, pump, and injector. +/obj/effect/map_effect/marker/large_tank + name = "large tank marker" + desc = "See comments/documentation in code." + icon = 'icons/effects/map_effects.dmi' + icon_state = "marker_large_tank" + layer = LIGHTING_LAYER + + /// Radio frequency of this large tank. + var/frequency = 2199 + + /// Unique tag for this large tank. Not visible in game and to the player. Do not leave this as null. + /// THIS MUST BE UNIQUE FOR THE LARGE TANK. Every marker in one large tank should have the same `master_tag`. + /// Different large tanks, even on different maps, cannot share the same `master_tag`. + var/master_tag = null + +/obj/effect/map_effect/marker/large_tank/Initialize(mapload, ...) + ..() + return INITIALIZE_HINT_LATELOAD + +/obj/effect/map_effect/marker/large_tank/LateInitialize() + if(!master_tag || !frequency) + return + + // iterate over components under this marker + // and actually set them up + for(var/thing in loc) + // set up the control console + var/obj/machinery/computer/general_air_control/large_tank_control/control = thing + if(istype(control)) + control.set_frequency(frequency) + control.input_tag = MARKER_LARGE_TANK_TAG_INJECTOR + control.output_tag = MARKER_LARGE_TANK_TAG_PUMP + control.sensors = list(MARKER_LARGE_TANK_TAG_SENSOR="Tank") + continue + + // and all the other components + + var/obj/machinery/air_sensor/sensor = thing + if(istype(sensor)) + sensor.set_frequency(frequency) + sensor.id_tag = MARKER_LARGE_TANK_TAG_SENSOR + continue + + var/obj/machinery/atmospherics/unary/outlet_injector/injector = thing + if(istype(injector)) + injector.set_frequency(frequency) + injector.id = MARKER_LARGE_TANK_TAG_INJECTOR + continue + + var/obj/machinery/atmospherics/unary/vent_pump/pump = thing + if(istype(pump)) + pump.frequency = frequency + pump.id_tag = MARKER_LARGE_TANK_TAG_PUMP + pump.setup_radio() + continue diff --git a/html/changelogs/DreamySkrell-large-tank-marker.yml b/html/changelogs/DreamySkrell-large-tank-marker.yml new file mode 100644 index 00000000000..60596d9c9e5 --- /dev/null +++ b/html/changelogs/DreamySkrell-large-tank-marker.yml @@ -0,0 +1,10 @@ + + +author: DreamySkrell + +delete-after: True + +changes: + - rscadd: "Adds large tank markers." + - maptweak: "Updates SCC Scout Ship to use large tank markers." + - maptweak: "Updates Civilian Yacht to use large tank markers." diff --git a/icons/effects/map_effects.dmi b/icons/effects/map_effects.dmi index adaff77832cf4e0ac2635ad6c83a9da5d015be55..70e7742db1801d3d792d5530b4bce99fd4ecd15a 100644 GIT binary patch delta 5505 zcmV-{6@Kc|wgJ7j0gxnrsd`jcbVOxyV{&P5bZKvH004NLrIx{NoG=iE&+rsha!!@B zx$dRfDB45v3YLKZrq~{9JnS}apF>tnx=lMay@B+7*{bgT=XHsYmiQ*GZ=-?*|vw~4MiFPrC8#OvSU&m^1s zew!G8bu&0#fNkfp9`DRLWKaE4iQ9qt1*86`Txg|xch+V#@acn%QGk*3kMQR@{QNJS zR{hU{RvA&p&I@?Q6IgNauiJlZ9-jAR|8!_y0ZAn=UX1}J?X$}P8$bcKv*$rP27hgA zTi1EV|CD6PBxOrhBvWssCDM{>$;xcmj+%M3?4}7?f3WP$TiPZ;k!~nZufecnXn~{~ z&|w7z3@xyw+ouf}kTmUw4awRjY3!x8+&P=Je&dU@EBNPl`>09H^g@Qpi98OjGdfP9izg>t#BFx`bBy!~l<9V=O8&*X?xBXK3K@36;wRbe5?}9?(ANkZ* zQkPj?51_35X6p0X|J23r0|4U*k@p0nkH6Y+9W`E189OgfdjA3<5$>4Kd+)s`IR{{ z9O~#qAow%PMB}phdfP9hzt!V_TF*RV>cFNEw4Qk;=QHx1^^S=sX}_8Jg-*$Z&aZRx z0@VuV1>*4RdFJoK|L}6&^Wouvw0{x>=La%jEyjXL?MesSxo^?nG%3zCBq2b9KwXdI9b$1ZGo zOJdX1{5T*o2DIJcfb_KAh&Uh$r4Zr70RdT0NGJ}7eX$YP7oE^{V8b&hfH)vM?bjLy zbUzkD=VRUC1!SmgXn(}ujegDhQ~j-}&z}X88Vk~+zqpXZBW~?CNr$TfGx4}&8O3ox za)Ee4+mBs{7EBzFp7v{r12Qt2RZCq|zqs|)L^JEDOJ5w20tz|~NNM{u!~qT7=to^s zlkR?eT~m{$yCBuyy81`XJuke|z1)wq>d(aEa8|ff2Nv>iR)4r8y`VC798g=QS9u(e zLO5|iCEPfmhe+Vw`uNjs)Zo&kOL*$VFW?71{_ZP&pWoOxAlpV9PB;Yri}lZiejG$c zdj|k0*4Nd334JNlEJQ9wcr?H)O0E{FU)=g?7NQqpelEc*N-u=AI3N}927{b9 zpq9rxoHE-X4oGkN)x-g%QYkoQLYyoGdf{hbkb>${eYeY=H+|lEKgQA6_S5rkXEJj(RM%9)*8y9YDr zxT5WkmVb9+X2*R1HdHk3#KPTWRHmwtNKa!|Nu{Ow@0Y*Hu50%mT{ ziROZq+CG105owfQZZ-+W{4SKOIAAZeqjFaz?tjcJ;Hc*@OwUZCt?CFqT^`4UuRM+a z?E5+XU%redx_VJkCn|IiTwi+57bDUPA5l$57npo`PMI6T3W&imQk6hL~3#w zbAR)5z2E*Ic`vm6;PdpZmov@Y(4(&r{DjH|7<5@j(@J= z(EZQ9_SB1C!0GRFE8gCGb}zpCmpzycC19Jdha30T=i~+3)ZfR`e?_K#`R!8rK(>D@ zb!RdXau;F`2vU7(^?}Xt7LuOX3`pJlu^lVhZ~NIFzMEMHEyGpoL~?csWtkmFXHsZ+ z+=E~K=D$QMYHx2xARr!L$=-h4^MCtTnpr`4X*pKbSKz94VCT96!O1)L;Omu(6H@@hZsc-rime4G$~Y?nWb~rY6x=e-P!Bc8q--#jz)j z;@^IiT~ypk{hQ7!0J!~dvk|%gsJ?ajvAZ$&T6}rc4@bhx7!Y7x`)zMMbAL5cK2w3E zRMsk{SJPNcrLp(O9{lS4Ux<$R96Wdsw{PE8w7qS22hvj+td*@Iy_&|{{2ZFP*XNIB_0y{uxH*6f*0HcB0iWN8P&kA`9i1EXFCrWYBV)_Jma!??9=jRG zqiw&3%9<*q)2n!pNFW-Tz<>P0LpU7{OZ9(V@-K>JC(M972ut;?(~sTN7AU9}_8_zs zq*5u^{-)s{GZodj4hCk~v%&C&l;w7spY6Eka5SYF?BJ%10^9LMe1Y!IN8 z`v0@@U6CV5p%gy0#>U1B|HH&;)>t?zHVu=Su*nJkrM1mC;Zycl!1ZtdYg1#)`|;6iSM*NRl%oCfsekd}#hlMx zeKXrFu4~#nK58C|2!D?TIL~mAM$h^P+%hGvnwM(Q}jV2GhXB?yj{NrH!5a3pcHm_98C(x%y?;QZ7e6U`o%Q+}vPMAZ z@z1xu*Xu=BR~Opbvl_3yc?ES%P3Z1=5FvHevfON<+36Qm5JY*fV;uNsauL- z*Y~yfOw%WIOF_Ql$?h|_*8dJ?o9l>lR!*TZ*ZSYV$?h|py0^0a>#x5K0O;;{68(Lb zIoss2k_wgS@4Jldo+mkVOYz&jUz?^+>Xw2mx^ITQ(0_vdxyy}GEaTYGV+El>p(uqK zAPR+I8Pot#C=|<}28cqTSOzsf6bi*M%H#@^KFp?VNIskfe__Su_RgI0Q}f0@Ma!;R zXeMYZu(_%r`HrRJgA#qq3Mgs6nfh$R+Rraz7Rg()vNKW1Tk3`n}&&tjO-3pu6{zBB3H9&yy^jS+wi|EO23?oVt{gGc^=2d1{(R`O+aDdgDOkqadEB()PdppB?p0}RvngJXoW9w|pWNByx)&rT zyU|`qq3SC(KtkgnTM71EkGwYWM3ig4+4>Y|=<(m4C^A4o;~!EOeHT_zmzgJroi(g%q;BtN~ivRb%SFrV*^|s>%6` z`OZ4WM3l7OOnr(xPqaRh^BFN(YbK9LQS>1jh^W>0kh`#6sJ^xOT0I$~E`F=^wR#f7 z3!wVa&`4+sg<=_!25501sjKVda8*bqrk8{23+qP*Z*peB`0tI0S}k=^eQWiNjAqtSm(}`4MiXnPt620!2cc); zaX2eny2lZm6)w!g$jeV^hy2nxWwRRx z>YAE#kE7HzHDT~ZKh+mOau!U@LVxID%+Dn>cLS)twfbrnf*0d@H~?tu23f7IW+8Sl z!lMDr-JoL7moz{#@wleDr%_OSYxTn)ysgQ5C=~s{8~vKR2db}}90Qa}rQmk)vJ~h< zC<}xbRNs32vAuIes~?R<@ehCT4NjH}z3{VONHIMX#~=T}2~L&_z3{VONPm$`CgF2| zlO;nh>?|03atx5&ZfAZdehz6pq*5tG85pTP)wfdL>-92*VqjpvF#TvW3a{5ITdt8UtsYTdHsTrL-5D3oLoQA#qIgv*ti0F`5amY1_@%~VxY8Fu$!*S)y7 z$Y_X_q54$cD*ZqpJ6m(^+H+{sL!p(f zt}c!SpGbHFExrQ)AZaMH(&9V7(cm*XJB#Y-?23ncLtzBf)zusgfPY3pZz;l&a6xEL zC`u^DjqOq>y0A4iHfEH}4wwPC z3l+P5?5_6bb@b5G*nb4T`u1C?fAQi)MYB_85RFDL6qrynJ7osbQ*i`_{#S5zDjy`1 zNp2U+DvDj77y_%Xy8Tw`D~ZoB6D9FEW+D`ylP_#nuU@rGoI;@#H*^+^LZMiO>>%{1 zo}P>zfvbIeHa+`Oee3nL)}d!#s;`}%Q`vK-@2Y<7ikIHVEPwpy>o%eH6)(M!0RW}% zg`iz93Z;M`#s|=5fQZomvWA0iaM+)T{b$!DWqbhI1*1?X8z?atYy+iaAAWg0x(txs z?m<55RZ}O`r}|dv_nhjQsHsoRpzya5&xc=!Sb0904G`(yn(<>9U9Z}{IMt{6 zR_YV<7$MUA(tlEiP*+OLzEbb`=pF;IYM?Ejkdu+LlYMfsPge5UjN`#J_;UZ*-_7Xn zLCFt#$8wCS!)zE2NX+6(-3jC_HZ^r>(U-#reS+M@&3`X<+|=l+F>0io+TX>j?ljd` zrq73MFtm6vYK@PWr&96K8yWH^^`2jkQm;vN8eZzIE`N8D8*v8~ySpphN3XsX%+O}n zX;!z_=sMMC6}!F=db}2+JRYIhE&jNV*ld}S`V~ElDt5r6E;J*5P$hSDGxgPCv;h?I zzVdm;rcl_(c{f5vOAKAJV8t}XAZGx~GzfBa7sEIlW$U2SyHSFq2c+i2F64_q&Se*R zZH5OZRDZwK-3dzJ!|#5n`7ej42P8G_B6RmxT2=|CdU`VCk6j1*GojCg%29pVRojm6 zV|U1F_J5<}g{(l-0LhK}D4Fin6DuS&wj@-ao>?iXPuYs}UG1}p85lCi%#QbA8>H=G zs3gaLgt}E~2Bh_L1*E3X)z+(ZpJLXhY(M(0_J7&oFttY=44?wPd zEnZl$>r=KLTh+^vLe>Kk`dsLQS5wwV#Kt=Eb-@+8KE)h_x?eq~dNNX;%vSYsq+lM! zFl)w3sI1b@%!2CEE?J?$H%{#La)t{~7d&Vrn&N=AOF$rnQY?s#{RnN_O6Xn>h`Rd4 zgMUzWPb?I`EPbKSgna8;`5g)k-Rl9-0nXw?Y#`ihk5}%|AFK59`5g)gMFvRA0JD)s zNoz14)i+OH?#5$eAf%ATCHK5tAszohM%Dny4Ooh8H_9{8GmTI6mFsJXJCgGT)XdNc zbz{h%(4#1F-nY~?CHhL+DTZ2oA@l?hZh!RvL;_uuo}w7`Mb9?`La%|`1>2Npu**u- zDfL~9Y@^us6Ka=HGmOQuAQ@c|kzyJ~7@>ThUq%}=Ef{Gywz?70Jqt#S4@C?qFGlHp z=6*x@?_uS4Fv4JLMWe%pcEKp7!@h{s+_2PmO-3O$;GQr2VuKnWN?xE{b&3!)H8wNV zm(|x=2YX*5>d5E5TSdRnp&k&0La_{*nwdhOSjPVYx>(2*%#@5300000NkvXXu0mjf Dv+?kb delta 5398 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 Aq5uE@ diff --git a/maps/away/ships/scc/scc_scout_ship.dmm b/maps/away/ships/scc/scc_scout_ship.dmm index 23e74c2adc3..4ecc2dfca1d 100644 --- a/maps/away/ships/scc/scc_scout_ship.dmm +++ b/maps/away/ships/scc/scc_scout_ship.dmm @@ -6534,10 +6534,11 @@ /area/ship/scc_scout_ship/bridge) "OV" = ( /obj/random/dirt_75, -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "co2_sensor" +/obj/effect/map_effect/marker/large_tank{ + master_tag = "scc_scout_ship_co2"; + name = "scc_scout_ship_co2" }, +/obj/machinery/air_sensor, /turf/simulated/floor/reinforced/carbon_dioxide, /area/ship/scc_scout_ship/maint_propulsion_port) "OY" = ( @@ -7619,14 +7620,14 @@ /area/ship/scc_scout_ship/quarters) "VX" = ( /obj/random/dirt_75, -/obj/machinery/computer/general_air_control/large_tank_control/terminal{ - dir = 4; - input_tag = "co2_in"; - output_tag = "co2_out"; - sensors = list("co2_sensor"="Tank"); - name = "Carbon Dioxide Supply Monitor" - }, /obj/effect/floor_decal/industrial/outline/yellow, +/obj/machinery/computer/general_air_control/large_tank_control/terminal{ + dir = 4 + }, +/obj/effect/map_effect/marker/large_tank{ + master_tag = "scc_scout_ship_co2"; + name = "scc_scout_ship_co2" + }, /turf/simulated/floor/plating, /area/ship/scc_scout_ship/maint_propulsion_port) "Wc" = ( @@ -7766,13 +7767,15 @@ /turf/simulated/floor/tiled/dark, /area/ship/scc_scout_ship/hydroponics) "WM" = ( -/obj/random/dirt_75, -/obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos{ - frequency = 1441; - id_tag = "co2_out"; +/obj/machinery/light/small/emergency, +/obj/effect/map_effect/marker/large_tank{ + master_tag = "scc_scout_ship_co2"; + name = "scc_scout_ship_co2" + }, +/obj/machinery/atmospherics/unary/vent_pump/siphon/atmos{ dir = 1 }, -/obj/machinery/light/small/emergency, +/obj/random/dirt_75, /turf/simulated/floor/reinforced/carbon_dioxide, /area/ship/scc_scout_ship/maint_propulsion_port) "WO" = ( @@ -8224,12 +8227,12 @@ "Zh" = ( /obj/random/dirt_75, /obj/machinery/atmospherics/unary/outlet_injector{ - frequency = 1441; - id = "co2_in"; - name = "carbon dioxide injector"; - use_power = 1; dir = 1 }, +/obj/effect/map_effect/marker/large_tank{ + master_tag = "scc_scout_ship_co2"; + name = "scc_scout_ship_co2" + }, /turf/simulated/floor/reinforced/carbon_dioxide, /area/ship/scc_scout_ship/maint_propulsion_port) "Zo" = ( diff --git a/maps/away/ships/yacht_civ/yacht_civ.dmm b/maps/away/ships/yacht_civ/yacht_civ.dmm index 8ec589d406d..ff6fb8be6cb 100644 --- a/maps/away/ships/yacht_civ/yacht_civ.dmm +++ b/maps/away/ships/yacht_civ/yacht_civ.dmm @@ -1118,12 +1118,12 @@ /area/ship/yacht_civ/bridge) "kH" = ( /obj/machinery/atmospherics/unary/outlet_injector{ - frequency = 1441; - id = "co2_in"; - name = "carbon dioxide injector"; - use_power = 1; dir = 4 }, +/obj/effect/map_effect/marker/large_tank{ + master_tag = "yacht_civ_co2"; + name = "yacht_civ_co2" + }, /turf/simulated/floor/reinforced/carbon_dioxide, /area/ship/yacht_civ/propulsion) "kK" = ( @@ -1374,13 +1374,13 @@ /turf/simulated/floor/exoplanet/grass, /area/ship/yacht_civ/hallway_mid) "mI" = ( -/obj/machinery/air_sensor{ - frequency = 1441; - id_tag = "co2_sensor" - }, /obj/machinery/light/small/emergency{ dir = 1 }, +/obj/machinery/air_sensor, +/obj/effect/map_effect/marker/large_tank{ + master_tag = "yacht_civ_co2" + }, /turf/simulated/floor/reinforced/carbon_dioxide, /area/ship/yacht_civ/propulsion) "mL" = ( @@ -1512,16 +1512,13 @@ /turf/simulated/floor/tiled, /area/ship/yacht_civ/hallway_fore) "nI" = ( -/obj/machinery/computer/general_air_control/large_tank_control/terminal{ - dir = 8; - input_tag = "co2_in"; - output_tag = "co2_out"; - sensors = list("co2_sensor"="Tank"); - name = "propellant monitor" - }, /obj/effect/floor_decal/corner/beige{ dir = 6 }, +/obj/machinery/computer/general_air_control/large_tank_control/terminal{ + dir = 8; + name = "propellant monitor" + }, /turf/simulated/floor/tiled, /area/ship/yacht_civ/bridge) "nW" = ( @@ -5437,17 +5434,17 @@ /turf/simulated/floor/plating, /area/ship/yacht_civ/storage) "Va" = ( -/obj/machinery/computer/general_air_control/large_tank_control/terminal{ - dir = 8; - input_tag = "co2_in"; - output_tag = "co2_out"; - sensors = list("co2_sensor"="Tank"); - name = "propellant monitor" - }, /obj/effect/floor_decal/corner/yellow/diagonal, /obj/machinery/atmospherics/pipe/simple/hidden/yellow{ dir = 10 }, +/obj/effect/map_effect/marker/large_tank{ + master_tag = "yacht_civ_co2" + }, +/obj/machinery/computer/general_air_control/large_tank_control/terminal{ + dir = 8; + name = "propellant monitor" + }, /turf/simulated/floor/tiled, /area/ship/yacht_civ/propulsion) "Vs" = ( @@ -5564,11 +5561,12 @@ /turf/simulated/floor/tiled/dark, /area/ship/yacht_civ/hallway_aft) "Wc" = ( -/obj/machinery/atmospherics/unary/vent_pump/siphon/on/atmos{ - frequency = 1441; - id_tag = "co2_out"; +/obj/machinery/atmospherics/unary/vent_pump/siphon/atmos{ dir = 4 }, +/obj/effect/map_effect/marker/large_tank{ + master_tag = "yacht_civ_co2" + }, /turf/simulated/floor/reinforced/carbon_dioxide, /area/ship/yacht_civ/propulsion) "We" = (