From de0dafdfdaa193807e9d5aa170c93421c79cb3a5 Mon Sep 17 00:00:00 2001 From: Theos Date: Tue, 16 Apr 2024 20:14:21 -0400 Subject: [PATCH] Ship gravity generator (#2705) ## About The Pull Request Adds support for ship-based gravity generators, ships no longer have gravity by default and need to have an active generator. Currently haven't had it added to maps, but the board is printable at an autolathe. Planets & the outpost now have a virtual z-wide gravity, allowing landed ships to inherit planetary gravity. https://github.com/shiptest-ss13/Shiptest/assets/24857008/a6ee357e-265b-4d1f-9602-7d11d81ca0ea ## Why It's Good For The Game Dev wishlist, ships being effected by planetary gravity feels cool ## Changelog :cl: tweak: ships no longer have intrinsic gravity add: new gravity generator machine for ships tweak: planetary gravity is now stored level-wide, a ship landing at a planet will be effected by the planet's gravity /:cl: --------- Signed-off-by: Theos Co-authored-by: Latentish --- .../JungleRuins/jungle_interceptor.dmm | 6 +- .../independent/independent_beluga.dmm | 2 + .../shuttles/independent/independent_box.dmm | 8 +- .../independent/independent_boyardee.dmm | 34 +++-- .../independent/independent_bubble.dmm | 28 +++- .../independent/independent_dwayne.dmm | 4 + .../shuttles/independent/independent_kilo.dmm | 8 +- .../independent/independent_lagoon.dmm | 9 +- .../independent/independent_mudskipper.dmm | 16 ++- .../independent/independent_rigger.dmm | 37 ++++-- .../independent/independent_schmiedeberg.dmm | 19 ++- .../independent/independent_shetland.dmm | 34 ++++- .../independent/independent_tranquility.dmm | 23 +++- _maps/shuttles/inteq/inteq_colossus.dmm | 8 +- _maps/shuttles/inteq/inteq_hound.dmm | 7 + _maps/shuttles/inteq/inteq_talos.dmm | 54 +++++--- _maps/shuttles/inteq/inteq_valor.dmm | 7 + _maps/shuttles/inteq/inteq_vaquero.dmm | 13 +- _maps/shuttles/minutemen/minutemen_vela.dmm | 3 +- .../shuttles/nanotrasen/nanotrasen_delta.dmm | 10 ++ .../shuttles/nanotrasen/nanotrasen_gecko.dmm | 29 +++- .../shuttles/nanotrasen/nanotrasen_heron.dmm | 21 ++- _maps/shuttles/nanotrasen/nanotrasen_meta.dmm | 5 + .../shuttles/nanotrasen/nanotrasen_mimir.dmm | 7 + .../shuttles/nanotrasen/nanotrasen_osprey.dmm | 16 ++- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 63 ++++++--- .../nanotrasen/nanotrasen_skipper.dmm | 4 + _maps/shuttles/pgf/pgf_crying_sun.dmm | 14 +- _maps/shuttles/pirate/pirate_ember.dmm | 31 +++-- _maps/shuttles/pirate/pirate_libertatia.dmm | 1 + _maps/shuttles/pirate/pirate_noderider.dmm | 13 +- _maps/shuttles/roumain/srm_elder.dmm | 5 + _maps/shuttles/solgov/solgov_chronicle.dmm | 10 ++ _maps/shuttles/solgov/solgov_inkwell.dmm | 13 ++ _maps/shuttles/solgov/solgov_paracelsus.dmm | 10 +- _maps/shuttles/syndicate/syndicate_aegis.dmm | 57 ++++++-- .../syndicate/syndicate_cybersun_kansatsu.dmm | 27 ++-- .../syndicate/syndicate_gorlex_hyena.dmm | 2 + .../syndicate/syndicate_gorlex_komodo.dmm | 15 +-- .../syndicate/syndicate_litieguai.dmm | 26 +++- .../syndicate/syndicate_twinkleshine.dmm | 7 +- code/controllers/subsystem/overmap.dm | 2 +- code/game/area/ship_areas.dm | 1 - code/game/atoms.dm | 17 ++- code/game/machinery/shuttle/ship_gravity.dm | 124 ++++++++++++++++++ .../circuitboards/machine_circuitboards.dm | 11 ++ code/modules/cargo/packs/machinery.dm | 8 ++ code/modules/overmap/objects/dynamic_datum.dm | 4 + .../overmap/objects/outpost/outpost.dm | 6 +- code/modules/overmap/planets/planet_types.dm | 11 ++ code/modules/power/gravitygenerator.dm | 1 - .../research/designs/machine_designs.dm | 9 +- code/modules/shuttle/shuttle.dm | 3 + icons/obj/machines/ship_gravity.dmi | Bin 0 -> 916 bytes shiptest.dme | 1 + 55 files changed, 736 insertions(+), 168 deletions(-) create mode 100644 code/game/machinery/shuttle/ship_gravity.dm create mode 100644 icons/obj/machines/ship_gravity.dmi diff --git a/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm b/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm index ae980c270cdd..224bd54c8361 100644 --- a/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm +++ b/_maps/RandomRuins/JungleRuins/jungle_interceptor.dmm @@ -4891,6 +4891,10 @@ }, /turf/open/floor/plating, /area/ruin/jungle/interceptor/porthall) +"Pi" = ( +/obj/item/circuitboard/machine/ship_gravity, +/turf/open/floor/plating/rust, +/area/overmap_encounter/planetoid/jungle/explored) "Pk" = ( /obj/effect/turf_decal/corner/opaque/purple/three_quarters{ icon_state = "borderfloor_white"; @@ -7954,7 +7958,7 @@ aG SC Mw EJ -wH +Pi sV Mw Bb diff --git a/_maps/shuttles/independent/independent_beluga.dmm b/_maps/shuttles/independent/independent_beluga.dmm index e8bf634e863f..41224e73386c 100644 --- a/_maps/shuttles/independent/independent_beluga.dmm +++ b/_maps/shuttles/independent/independent_beluga.dmm @@ -2093,6 +2093,8 @@ /obj/structure/cable/yellow{ icon_state = "1-8" }, +/obj/structure/cable/yellow, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/engineering) "tR" = ( diff --git a/_maps/shuttles/independent/independent_box.dmm b/_maps/shuttles/independent/independent_box.dmm index 685f9518f44e..5eec37e52c2b 100644 --- a/_maps/shuttles/independent/independent_box.dmm +++ b/_maps/shuttles/independent/independent_box.dmm @@ -2484,6 +2484,9 @@ /obj/effect/turf_decal/trimline/opaque/yellow/filled/warning{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plating, /area/ship/engineering) "KI" = ( @@ -2554,8 +2557,9 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 9 }, -/obj/structure/salvageable/computer{ - dir = 8 +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-8" }, /turf/open/floor/plating, /area/ship/engineering) diff --git a/_maps/shuttles/independent/independent_boyardee.dmm b/_maps/shuttles/independent/independent_boyardee.dmm index 20a0cacad9ac..65f03d149b90 100644 --- a/_maps/shuttles/independent/independent_boyardee.dmm +++ b/_maps/shuttles/independent/independent_boyardee.dmm @@ -439,6 +439,10 @@ icon_state = "2-8" }, /obj/item/radio/intercom/directional/east, +/obj/structure/table/reinforced, +/obj/item/stock_parts/cell/high/plus, +/obj/item/stock_parts/cell/high/plus, +/obj/machinery/cell_charger, /turf/open/floor/plating, /area/ship/maintenance) "iB" = ( @@ -665,12 +669,14 @@ /turf/open/floor/carpet/red_gold, /area/ship/crew/canteen) "mH" = ( -/obj/machinery/power/port_gen/pacman, +/obj/effect/turf_decal/box, /obj/structure/cable/yellow{ - icon_state = "0-2" + icon_state = "2-4" }, -/obj/effect/turf_decal/box, -/obj/item/stack/sheet/mineral/plasma/five, +/obj/structure/reagent_dispensers/watertank/high, +/obj/item/reagent_containers/glass/bucket, +/obj/item/reagent_containers/glass/bucket, +/obj/item/mop, /turf/open/floor/plating, /area/ship/maintenance) "nc" = ( @@ -1573,11 +1579,12 @@ /turf/open/floor/plasteel/dark, /area/ship/crew/canteen) "CV" = ( -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/glass/bucket, -/obj/item/reagent_containers/glass/bucket, -/obj/item/mop, /obj/effect/turf_decal/box, +/obj/machinery/power/port_gen/pacman, +/obj/item/stack/sheet/mineral/plasma/five, +/obj/structure/cable/yellow{ + icon_state = "0-8" + }, /turf/open/floor/plating, /area/ship/maintenance) "Da" = ( @@ -2496,10 +2503,10 @@ /turf/open/floor/plasteel, /area/ship/crew/canteen) "TN" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high/plus, -/obj/item/stock_parts/cell/high/plus, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/maintenance) "Uf" = ( @@ -2627,6 +2634,9 @@ icon_state = "2-8" }, /obj/effect/turf_decal/box, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plating, /area/ship/maintenance) "VR" = ( diff --git a/_maps/shuttles/independent/independent_bubble.dmm b/_maps/shuttles/independent/independent_bubble.dmm index 32efe563c0bb..c34ad8349987 100644 --- a/_maps/shuttles/independent/independent_bubble.dmm +++ b/_maps/shuttles/independent/independent_bubble.dmm @@ -480,13 +480,9 @@ /turf/open/floor/plasteel, /area/ship/bridge) "uw" = ( -/obj/item/pipe_dispenser, -/obj/structure/closet/crate, -/obj/item/construction/plumbing, -/obj/item/construction/rcd/arcd, -/obj/item/stack/sheet/plasteel/fifty, -/obj/item/construction/rcd/combat, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating/rust, /area/ship/maintenance/aft) "uE" = ( @@ -636,6 +632,9 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plating/rust, /area/ship/maintenance/aft) "Ay" = ( @@ -988,6 +987,21 @@ "Ob" = ( /turf/closed/wall, /area/ship/maintenance/aft) +"OR" = ( +/obj/machinery/power/terminal{ + dir = 8 + }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/closet/crate, +/obj/item/stack/sheet/plasteel/fifty, +/obj/item/pipe_dispenser, +/obj/item/construction/rcd/arcd, +/obj/item/construction/rcd/combat, +/obj/item/construction/plumbing, +/turf/open/floor/plating, +/area/ship/maintenance/aft) "OY" = ( /obj/structure/cable{ icon_state = "1-2" @@ -1345,7 +1359,7 @@ bv MZ jI MW -VA +OR Ob Ob VB diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm index f72fb5396d21..40cd267a4b04 100644 --- a/_maps/shuttles/independent/independent_dwayne.dmm +++ b/_maps/shuttles/independent/independent_dwayne.dmm @@ -254,6 +254,10 @@ dir = 4 }, /obj/structure/catwalk/over/plated_catwalk/dark, +/obj/machinery/power/ship_gravity, +/obj/structure/cable/yellow{ + icon_state = "0-2" + }, /turf/open/floor/plating, /area/ship/engineering) "gm" = ( diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index 556b235dafc5..b9c686406b14 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -618,7 +618,6 @@ "cY" = ( /obj/effect/decal/cleanable/greenglow, /obj/effect/decal/cleanable/dirt, -/obj/structure/table, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 1 }, @@ -632,6 +631,10 @@ pixel_x = -23; id = "kiloengine" }, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/engineering/engine) "cZ" = ( @@ -1841,6 +1844,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ dir = 1 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "Nq" = ( diff --git a/_maps/shuttles/independent/independent_lagoon.dmm b/_maps/shuttles/independent/independent_lagoon.dmm index c015f0c262a1..4f9b272a00f7 100644 --- a/_maps/shuttles/independent/independent_lagoon.dmm +++ b/_maps/shuttles/independent/independent_lagoon.dmm @@ -741,8 +741,11 @@ /turf/open/floor/plasteel/dark, /area/ship/security) "eS" = ( -/obj/structure/reagent_dispensers/watertank, /obj/machinery/light/directional/west, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plating, /area/ship/engineering) "eT" = ( @@ -4074,6 +4077,7 @@ /obj/structure/cable{ icon_state = "2-8" }, +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/ship/engineering) "Bg" = ( @@ -7449,6 +7453,9 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/ship/engineering) "Yu" = ( diff --git a/_maps/shuttles/independent/independent_mudskipper.dmm b/_maps/shuttles/independent/independent_mudskipper.dmm index 5ac1bcdd0e65..34af2d7b3622 100644 --- a/_maps/shuttles/independent/independent_mudskipper.dmm +++ b/_maps/shuttles/independent/independent_mudskipper.dmm @@ -162,6 +162,7 @@ name = "Engine Shutters" }, /obj/machinery/cell_charger, +/obj/item/storage/toolbox/mechanical, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/engine) "dN" = ( @@ -384,6 +385,9 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "ib" = ( @@ -876,10 +880,10 @@ /obj/structure/railing{ dir = 8 }, -/obj/structure/table/reinforced{ - color = "#c1b6a5" +/obj/structure/cable{ + icon_state = "0-1" }, -/obj/item/storage/toolbox/mechanical, +/obj/machinery/power/ship_gravity, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "sT" = ( @@ -1638,9 +1642,6 @@ /area/ship/hallway/aft) "KA" = ( /obj/structure/window/reinforced/spawner, -/obj/structure/table/reinforced{ - color = "#c1b6a5" - }, /obj/item/paper_bin, /obj/item/analyzer{ pixel_y = 3; @@ -1653,6 +1654,9 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/structure/table/reinforced{ + color = "#c1b6a5" + }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/engine) "KT" = ( diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm index 03044b113956..1115785bfab7 100644 --- a/_maps/shuttles/independent/independent_rigger.dmm +++ b/_maps/shuttles/independent/independent_rigger.dmm @@ -760,10 +760,16 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/crew) "jx" = ( -/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable{ - icon_state = "0-4" + icon_state = "4-8" + }, +/obj/structure/closet/wall/orange/directional/north{ + name = "fuel supply" }, +/obj/item/stack/sheet/mineral/uranium/five, +/obj/item/stack/sheet/mineral/plasma/fifty, +/obj/effect/turf_decal/radiation, +/obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "jy" = ( @@ -2334,8 +2340,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 }, -/obj/machinery/light/small/directional/north, /obj/structure/catwalk/over, +/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/ship/engineering/atmospherics) "BZ" = ( @@ -2462,13 +2468,17 @@ /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "DE" = ( -/obj/effect/spawner/lootdrop/maintenance, -/obj/structure/sign/warning/nosmoking{ - pixel_y = 32 - }, /obj/effect/turf_decal/industrial/warning{ dir = 8 }, +/obj/structure/cable{ + icon_state = "4-10" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/effect/spawner/lootdrop/maintenance, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "DG" = ( @@ -4036,11 +4046,11 @@ /obj/structure/cable/yellow{ icon_state = "1-4" }, -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/uranium/five, -/obj/item/stack/sheet/mineral/plasma/fifty, -/obj/effect/turf_decal/industrial/outline/yellow, -/obj/effect/turf_decal/radiation, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-5" + }, +/obj/effect/turf_decal/industrial/hatch/yellow, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "Vo" = ( @@ -4184,6 +4194,9 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/structure/sign/warning/nosmoking{ + pixel_y = 32 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/engine) "WO" = ( diff --git a/_maps/shuttles/independent/independent_schmiedeberg.dmm b/_maps/shuttles/independent/independent_schmiedeberg.dmm index f9c4ee6c499c..7e4ea3906a9d 100644 --- a/_maps/shuttles/independent/independent_schmiedeberg.dmm +++ b/_maps/shuttles/independent/independent_schmiedeberg.dmm @@ -146,7 +146,6 @@ /turf/open/floor/plating, /area/ship/bridge) "bu" = ( -/obj/structure/catwalk/over, /obj/structure/cable{ icon_state = "2-8" }, @@ -157,8 +156,9 @@ dir = 1 }, /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ - dir = 4 + dir = 1 }, +/obj/structure/catwalk/over, /turf/open/floor/plating, /area/ship/engineering) "bD" = ( @@ -536,6 +536,7 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "gt" = ( @@ -1290,6 +1291,9 @@ /obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer2{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plating, /area/ship/engineering) "rC" = ( @@ -1559,6 +1563,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 9 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 4 + }, /turf/open/floor/plating, /area/ship/engineering) "wz" = ( @@ -2673,8 +2680,11 @@ /obj/effect/turf_decal/siding/thinplating/dark/end{ dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/effect/decal/cleanable/oil/streak, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-8" + }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "Oe" = ( @@ -3323,6 +3333,9 @@ pixel_x = 11; pixel_y = -16 }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 9 + }, /turf/open/floor/plating, /area/ship/engineering) "Yw" = ( diff --git a/_maps/shuttles/independent/independent_shetland.dmm b/_maps/shuttles/independent/independent_shetland.dmm index 113975fc8edf..4061815b4276 100644 --- a/_maps/shuttles/independent/independent_shetland.dmm +++ b/_maps/shuttles/independent/independent_shetland.dmm @@ -333,6 +333,9 @@ /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 9 }, +/obj/structure/cable{ + icon_state = "5-9" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "cR" = ( @@ -815,6 +818,9 @@ /obj/effect/turf_decal/miskilamo_big/six{ dir = 8 }, +/obj/structure/cable{ + icon_state = "2-9" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "gZ" = ( @@ -1662,6 +1668,9 @@ /area/ship/security) "oH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4, +/obj/structure/cable{ + icon_state = "6-8" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "oK" = ( @@ -2137,6 +2146,9 @@ /obj/machinery/atmospherics/pipe/simple/dark/visible{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-6" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "sb" = ( @@ -3259,6 +3271,13 @@ /obj/effect/turf_decal/industrial/warning/fulltile, /turf/open/floor/plasteel/dark, /area/ship/hallway/port) +"BR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) "BY" = ( /obj/machinery/door/airlock{ name = "Dormitory" @@ -4169,6 +4188,10 @@ "Km" = ( /obj/effect/turf_decal/box, /obj/effect/decal/cleanable/dirt, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "Kn" = ( @@ -4601,6 +4624,9 @@ /area/ship/engineering/engine) "NK" = ( /obj/structure/closet/cardboard, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "NR" = ( @@ -4924,6 +4950,9 @@ /obj/machinery/atmospherics/pipe/layer_manifold/visible{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "Qt" = ( @@ -5759,6 +5788,9 @@ /obj/effect/turf_decal/miskilamo_big/eight{ dir = 8 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "XY" = ( @@ -6111,7 +6143,7 @@ PP PP QB Id -pr +BR Zn JF xf diff --git a/_maps/shuttles/independent/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm index fd1a368ebc50..195117431ebc 100644 --- a/_maps/shuttles/independent/independent_tranquility.dmm +++ b/_maps/shuttles/independent/independent_tranquility.dmm @@ -1284,6 +1284,10 @@ /obj/structure/railing{ dir = 4 }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/engine) "jk" = ( @@ -1418,6 +1422,23 @@ }, /turf/open/floor/wood/birch, /area/ship/crew/crewtwo) +"ka" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/structure/catwalk/over/plated_catwalk/dark, +/obj/structure/cable{ + icon_state = "1-4" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) "kr" = ( /obj/structure/cable{ icon_state = "2-8" @@ -7309,7 +7330,7 @@ rB aC Fq jh -JX +ka Jq Gs "} diff --git a/_maps/shuttles/inteq/inteq_colossus.dmm b/_maps/shuttles/inteq/inteq_colossus.dmm index 647896ce8185..4692d9eabb34 100644 --- a/_maps/shuttles/inteq/inteq_colossus.dmm +++ b/_maps/shuttles/inteq/inteq_colossus.dmm @@ -2801,6 +2801,9 @@ /obj/effect/turf_decal/corner_techfloor_gray{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plating, /area/ship/maintenance/starboard) "EQ" = ( @@ -3662,8 +3665,9 @@ /obj/structure/sign/warning/nosmoking/circle{ pixel_x = 32 }, -/obj/effect/turf_decal/number/zero{ - dir = 8 +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-8" }, /turf/open/floor/plating, /area/ship/maintenance/starboard) diff --git a/_maps/shuttles/inteq/inteq_hound.dmm b/_maps/shuttles/inteq/inteq_hound.dmm index e67d176f5683..59c4616d5b5a 100644 --- a/_maps/shuttles/inteq/inteq_hound.dmm +++ b/_maps/shuttles/inteq/inteq_hound.dmm @@ -2256,6 +2256,9 @@ /obj/effect/turf_decal/siding/thinplating/dark/corner{ dir = 1 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/tech, /area/ship/storage/eva) "Wk" = ( @@ -2282,6 +2285,10 @@ codes_txt = "patrol;next_patrol=crew"; location = "eva" }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plasteel/tech, /area/ship/storage/eva) "Xc" = ( diff --git a/_maps/shuttles/inteq/inteq_talos.dmm b/_maps/shuttles/inteq/inteq_talos.dmm index c8bdcb1bd3be..fb686d09569a 100644 --- a/_maps/shuttles/inteq/inteq_talos.dmm +++ b/_maps/shuttles/inteq/inteq_talos.dmm @@ -1317,15 +1317,9 @@ /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 }, -/obj/structure/cable/yellow{ - icon_state = "1-2" - }, -/obj/item/analyzer{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ - dir = 1 +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" }, /turf/open/floor/plasteel/dark, /area/ship/engineering) @@ -1540,6 +1534,13 @@ icon_state = "2-4" }, /obj/effect/turf_decal/number/five, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2, +/obj/structure/cable/yellow{ + icon_state = "1-10" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering) "jT" = ( @@ -2757,6 +2758,19 @@ }, /turf/open/floor/plasteel/patterned, /area/ship/cargo) +"qD" = ( +/obj/structure/railing, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 6 + }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) "qF" = ( /obj/structure/cable{ icon_state = "4-8" @@ -4532,6 +4546,9 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2{ + dir = 1 + }, /turf/open/floor/plasteel/dark, /area/ship/engineering) "Ba" = ( @@ -5822,7 +5839,13 @@ /obj/item/assembly/igniter{ pixel_y = 6 }, -/obj/structure/cable/yellow, +/obj/item/analyzer{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/structure/cable/yellow{ + icon_state = "0-5" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering) "Lu" = ( @@ -6237,16 +6260,9 @@ /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ship/engineering) "OG" = ( -/obj/structure/cable/yellow{ - icon_state = "2-4" - }, /obj/structure/railing, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, -/obj/structure/catwalk/over, -/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ - dir = 6 - }, -/turf/open/floor/plating, +/turf/open/floor/plasteel/tech, /area/ship/engineering) "OK" = ( /obj/machinery/cryopod{ @@ -7944,7 +7960,7 @@ sV sV AO cj -ek +qD jS AZ gV diff --git a/_maps/shuttles/inteq/inteq_valor.dmm b/_maps/shuttles/inteq/inteq_valor.dmm index ede8c585a5c2..c4d13df99860 100644 --- a/_maps/shuttles/inteq/inteq_valor.dmm +++ b/_maps/shuttles/inteq/inteq_valor.dmm @@ -1943,6 +1943,10 @@ pixel_y = 32 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/maintenance/port) "rY" = ( @@ -5131,6 +5135,9 @@ /obj/structure/cable{ icon_state = "2-10" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plating, /area/ship/maintenance/port) "WC" = ( diff --git a/_maps/shuttles/inteq/inteq_vaquero.dmm b/_maps/shuttles/inteq/inteq_vaquero.dmm index c93d0cc7f0a8..3c94681b60f7 100644 --- a/_maps/shuttles/inteq/inteq_vaquero.dmm +++ b/_maps/shuttles/inteq/inteq_vaquero.dmm @@ -670,7 +670,6 @@ name = "Air to Distro" }, /obj/effect/turf_decal/hardline_small, -/obj/machinery/light/small/directional/north, /obj/machinery/atmospherics/components/binary/pump/layer4{ dir = 4; name = "Input to Waste" @@ -679,6 +678,7 @@ pixel_x = 10; pixel_y = 22 }, +/obj/machinery/firealarm/directional/north, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "jB" = ( @@ -2167,13 +2167,16 @@ /obj/machinery/atmospherics/pipe/manifold/cyan/visible/layer2{ dir = 1 }, -/obj/machinery/firealarm/directional/north, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, -/obj/structure/reagent_dispensers/fueltank, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/light/small/directional/north, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "Hn" = ( @@ -2382,6 +2385,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/starboard) "JL" = ( @@ -2391,6 +2397,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/south, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Kr" = ( diff --git a/_maps/shuttles/minutemen/minutemen_vela.dmm b/_maps/shuttles/minutemen/minutemen_vela.dmm index 200a677ea101..938ba4284993 100644 --- a/_maps/shuttles/minutemen/minutemen_vela.dmm +++ b/_maps/shuttles/minutemen/minutemen_vela.dmm @@ -4074,6 +4074,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/generic, +/obj/machinery/power/floodlight, /turf/open/floor/plating, /area/ship/storage) "wD" = ( @@ -5555,7 +5556,7 @@ }, /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/box/corners, -/obj/machinery/power/floodlight, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/storage) "Ex" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm index 4ee6ad18467c..1a43aca0ab18 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_delta.dmm @@ -726,6 +726,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plating, /area/ship/engineering) "dd" = ( @@ -917,6 +920,10 @@ /obj/effect/turf_decal/industrial/warning{ dir = 8 }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-1" + }, /turf/open/floor/plating, /area/ship/engineering) "dE" = ( @@ -2205,6 +2212,9 @@ }, /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4, /obj/structure/catwalk/over, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/ship/engineering) "ID" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm index 46e396a197a8..8c17da5f36ee 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_gecko.dmm @@ -1064,9 +1064,9 @@ /turf/open/floor/plasteel/patterned, /area/ship/cargo/port) "ks" = ( -/obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/outline/yellow, -/obj/structure/closet/firecloset/full, +/obj/structure/cable, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/engineering/engine) "ku" = ( @@ -1094,6 +1094,9 @@ "kL" = ( /obj/structure/chair/stool, /obj/effect/landmark/start/station_engineer, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "kM" = ( @@ -2282,6 +2285,9 @@ /obj/structure/cable{ icon_state = "1-4" }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "wY" = ( @@ -2503,6 +2509,9 @@ /obj/machinery/atmospherics/pipe/simple/purple/hidden/layer1{ dir = 9 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plating, /area/ship/engineering/engine) "zn" = ( @@ -3567,6 +3576,12 @@ /obj/effect/spawner/lootdrop/grille_or_trash, /turf/open/floor/plating, /area/ship/maintenance/fore) +"JL" = ( +/obj/structure/closet/firecloset/full, +/obj/effect/turf_decal/industrial/outline/yellow, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/ship/engineering/engine) "JV" = ( /obj/structure/table/reinforced, /obj/machinery/fax/nanotrasen, @@ -4030,6 +4045,12 @@ /obj/effect/turf_decal/industrial/hatch/yellow, /turf/open/floor/plasteel/tech, /area/ship/engineering/atmospherics) +"Pp" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plating, +/area/ship/engineering/engine) "Pr" = ( /obj/structure/sign/warning/fire, /turf/closed/wall/mineral/titanium/nodiagonal, @@ -5389,7 +5410,7 @@ Bi Tb st Tb -SQ +JL Ug hu hu @@ -5475,7 +5496,7 @@ FZ on on Fq -on +Pp lW Ug hu diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index ba2c8c61533e..b20ca306b163 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -5777,7 +5777,6 @@ /obj/effect/decal/cleanable/greenglow{ pixel_y = -10 }, -/obj/machinery/light/directional/east, /obj/structure/cable/yellow{ icon_state = "1-2" }, @@ -5802,7 +5801,6 @@ /obj/effect/turf_decal/techfloor/orange{ dir = 8 }, -/obj/structure/frame/machine, /obj/effect/turf_decal/industrial/warning{ dir = 4; color = "#808080" @@ -9773,9 +9771,6 @@ /obj/effect/turf_decal/techfloor/orange{ dir = 1 }, -/obj/structure/sign/poster/official/build{ - pixel_y = -32 - }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 }, @@ -9788,6 +9783,9 @@ /obj/machinery/atmospherics/pipe/simple/orange/hidden{ dir = 4 }, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plasteel/tech, /area/ship/engineering) "Kp" = ( @@ -11762,6 +11760,17 @@ /obj/machinery/light/directional/south, /turf/open/floor/plasteel, /area/ship/hallway/aft) +"Sb" = ( +/obj/structure/sign/poster/official/build{ + pixel_y = -32 + }, +/obj/machinery/light/directional/south, +/obj/structure/cable{ + icon_state = "0-1" + }, +/obj/machinery/power/ship_gravity, +/turf/open/floor/plasteel/tech, +/area/ship/engineering) "Sc" = ( /obj/structure/cable/yellow{ icon_state = "2-4" @@ -14168,7 +14177,7 @@ Fu WW Mv Ko -hr +Sb hr UJ UJ diff --git a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm index e01ceabaf3b3..117d575d366a 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_meta.dmm @@ -1639,6 +1639,9 @@ dir = 5 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plating, /area/ship/engineering) "id" = ( @@ -3227,6 +3230,8 @@ "NL" = ( /obj/effect/decal/cleanable/blood/splatter, /obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/power/ship_gravity, +/obj/structure/cable, /turf/open/floor/plating, /area/ship/engineering) "NN" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm index d6cc2ca80968..da6ae6b8b0ba 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm @@ -1520,6 +1520,10 @@ /obj/structure/railing{ dir = 8 }, +/obj/structure/cable{ + icon_state = "0-8" + }, +/obj/machinery/power/ship_gravity, /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/port) "iy" = ( @@ -2672,6 +2676,9 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plasteel/tech/grid, /area/ship/maintenance/port) "pe" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm b/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm index b9f1fe3ee680..ffb36020da1f 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_osprey.dmm @@ -1169,6 +1169,10 @@ sortTypes = list(4); tag = "Engineering" }, +/obj/structure/cable{ + icon_state = "1-8" + }, +/obj/machinery/firealarm/directional/east, /turf/open/floor/plasteel/patterned/grid, /area/ship/engineering) "ir" = ( @@ -1330,7 +1334,9 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, -/obj/machinery/firealarm/directional/south, +/obj/structure/cable{ + icon_state = "2-4" + }, /turf/open/floor/plasteel/patterned/grid, /area/ship/engineering) "jo" = ( @@ -5972,6 +5978,12 @@ }, /turf/open/floor/plasteel, /area/ship/cargo) +"MT" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/cable, +/obj/effect/turf_decal/industrial/warning/corner, +/turf/open/floor/plasteel/patterned/grid, +/area/ship/engineering) "Nd" = ( /obj/structure/disposalpipe/segment{ dir = 2 @@ -8183,7 +8195,7 @@ hr vx XK jn -WU +MT VV Aj VV diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index 360f9fec6963..90f6aed9030a 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -441,22 +441,13 @@ /turf/template_noop, /area/template_noop) "eo" = ( -/obj/structure/rack, -/obj/item/flashlight/seclite{ - pixel_x = 4; - pixel_y = -1 - }, -/obj/item/gps{ - pixel_y = 10; - pixel_x = -5 - }, -/obj/item/kitchen/knife/combat/survival{ - pixel_y = 6; - pixel_x = 5 - }, /obj/effect/turf_decal/techfloor{ dir = 4 }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/power/ship_gravity, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "er" = ( @@ -1536,14 +1527,43 @@ /area/ship/crew/toilet) "ps" = ( /obj/structure/closet/secure_closet/lp/engineer, -/obj/item/clothing/head/welding, -/obj/item/holosign_creator/engineering, -/obj/item/holosign_creator/atmos, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/glasses/meson/gar, -/obj/item/crowbar/power, -/obj/item/clothing/shoes/magboots, /obj/machinery/light/dim/directional/north, +/obj/item/clothing/gloves/color/yellow{ + pixel_y = -9 + }, +/obj/item/crowbar/power{ + pixel_y = 3 + }, +/obj/item/clothing/shoes/magboots{ + pixel_x = -6; + pixel_y = -8 + }, +/obj/item/holosign_creator/engineering{ + pixel_y = 6; + pixel_x = -5 + }, +/obj/item/holosign_creator/atmos{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/flashlight/seclite{ + pixel_x = 2; + pixel_y = 15 + }, +/obj/item/gps{ + pixel_y = 9; + pixel_x = -12 + }, +/obj/item/kitchen/knife/combat/survival{ + pixel_y = 6; + pixel_x = 5 + }, +/obj/item/clothing/head/welding{ + pixel_y = -9 + }, +/obj/item/clothing/glasses/meson/gar{ + pixel_y = 8 + }, /turf/open/floor/plasteel/mono/dark, /area/ship/engineering) "pA" = ( @@ -2979,6 +2999,9 @@ /obj/effect/turf_decal/siding/yellow{ dir = 5 }, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel/tech, /area/ship/engineering) "FQ" = ( diff --git a/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm b/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm index 5ec1a75727d5..deac666bf516 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_skipper.dmm @@ -2385,6 +2385,10 @@ /obj/structure/disposalpipe/segment{ dir = 8 }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-1" + }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering/engine) "sU" = ( diff --git a/_maps/shuttles/pgf/pgf_crying_sun.dmm b/_maps/shuttles/pgf/pgf_crying_sun.dmm index f797f25d2f95..2cd73b12dfda 100644 --- a/_maps/shuttles/pgf/pgf_crying_sun.dmm +++ b/_maps/shuttles/pgf/pgf_crying_sun.dmm @@ -292,6 +292,13 @@ }, /turf/open/floor/plasteel/sepia, /area/ship/crew/dorm/dormthree) +"ck" = ( +/obj/effect/turf_decal/borderfloorblack{ + dir = 1 + }, +/obj/structure/tank_dispenser, +/turf/open/floor/plasteel/mono/dark, +/area/ship/construction) "cs" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable{ @@ -701,8 +708,8 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, -/obj/item/radio/intercom/directional/east, -/obj/structure/tank_dispenser, +/obj/structure/cable, +/obj/machinery/power/ship_gravity, /turf/open/floor/plating, /area/ship/engineering) "gx" = ( @@ -4935,6 +4942,7 @@ pixel_x = 6; pixel_y = 2 }, +/obj/item/radio/intercom/directional/south, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "Nz" = ( @@ -7597,7 +7605,7 @@ Sh vh mL cY -xO +ck TO xz xz diff --git a/_maps/shuttles/pirate/pirate_ember.dmm b/_maps/shuttles/pirate/pirate_ember.dmm index 2694926c67ae..34536c2b4bcb 100644 --- a/_maps/shuttles/pirate/pirate_ember.dmm +++ b/_maps/shuttles/pirate/pirate_ember.dmm @@ -1996,6 +1996,20 @@ /obj/structure/cable{ icon_state = "1-2" }, +/obj/structure/closet/crate/engineering, +/obj/item/stack/sheet/metal/fifty{ + pixel_y = 2 + }, +/obj/item/stack/sheet/metal/fifty{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/stack/sheet/mineral/plastitanium/fifty{ + pixel_x = -3 + }, +/obj/item/stack/sheet/mineral/plastitanium/twenty{ + pixel_y = 2 + }, /turf/open/floor/plasteel/tech, /area/ship/engineering/electrical) "kc" = ( @@ -3707,19 +3721,9 @@ /obj/structure/cable{ icon_state = "2-9" }, -/obj/item/stack/sheet/metal/fifty{ - pixel_y = 2 - }, -/obj/item/stack/sheet/metal/fifty{ - pixel_y = 6; - pixel_x = 6 - }, -/obj/structure/closet/crate/engineering, -/obj/item/stack/sheet/mineral/plastitanium/fifty{ - pixel_x = -3 - }, -/obj/item/stack/sheet/mineral/plastitanium/twenty{ - pixel_y = 2 +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-2" }, /turf/open/floor/plasteel/tech, /area/ship/engineering/electrical) @@ -4549,6 +4553,7 @@ /obj/effect/turf_decal/industrial/warning{ dir = 4 }, +/obj/machinery/power/ship_gravity/unanchored, /turf/open/floor/plating/rust, /area/ship/hallway/central) "vY" = ( diff --git a/_maps/shuttles/pirate/pirate_libertatia.dmm b/_maps/shuttles/pirate/pirate_libertatia.dmm index e0c0905371ad..933836561c47 100644 --- a/_maps/shuttles/pirate/pirate_libertatia.dmm +++ b/_maps/shuttles/pirate/pirate_libertatia.dmm @@ -1790,6 +1790,7 @@ "WC" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/turf_decal/industrial/outline/yellow, +/obj/machinery/power/ship_gravity/unanchored, /turf/open/floor/mineral/plastitanium, /area/ship/cargo) "WK" = ( diff --git a/_maps/shuttles/pirate/pirate_noderider.dmm b/_maps/shuttles/pirate/pirate_noderider.dmm index e9a28b74cfde..9e13db35c42e 100644 --- a/_maps/shuttles/pirate/pirate_noderider.dmm +++ b/_maps/shuttles/pirate/pirate_noderider.dmm @@ -413,6 +413,12 @@ dir = 1 }, /obj/effect/turf_decal/industrial/caution, +/obj/structure/closet/secure_closet/engineering_electrical{ + req_access = null + }, +/obj/structure/cable{ + icon_state = "5-8" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering) "fD" = ( @@ -2964,9 +2970,6 @@ /obj/structure/railing/corner{ layer = 3.1 }, -/obj/structure/closet/secure_closet/engineering_electrical{ - req_access = null - }, /obj/effect/turf_decal/spline/fancy/opaque/black/corner, /obj/effect/turf_decal/industrial/warning{ dir = 1 @@ -2974,6 +2977,10 @@ /obj/effect/turf_decal/corner_techfloor_gray{ dir = 8 }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering) "Vb" = ( diff --git a/_maps/shuttles/roumain/srm_elder.dmm b/_maps/shuttles/roumain/srm_elder.dmm index e5f06babb733..06b2b8c53e00 100644 --- a/_maps/shuttles/roumain/srm_elder.dmm +++ b/_maps/shuttles/roumain/srm_elder.dmm @@ -30,6 +30,9 @@ /obj/structure/cable{ icon_state = "1-10" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "al" = ( @@ -913,6 +916,8 @@ /turf/open/floor/plasteel/white, /area/ship/medical) "jr" = ( +/obj/machinery/power/ship_gravity, +/obj/structure/cable, /turf/open/floor/plasteel/dark, /area/ship/engineering/engine) "jv" = ( diff --git a/_maps/shuttles/solgov/solgov_chronicle.dmm b/_maps/shuttles/solgov/solgov_chronicle.dmm index 9cceb17c5dea..8b386706f50d 100644 --- a/_maps/shuttles/solgov/solgov_chronicle.dmm +++ b/_maps/shuttles/solgov/solgov_chronicle.dmm @@ -51,6 +51,9 @@ dir = 4 }, /obj/machinery/meter/atmos/layer2, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/engine) "aB" = ( @@ -3866,6 +3869,10 @@ /obj/effect/turf_decal/techfloor{ dir = 1 }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering/engine) "LE" = ( @@ -3942,6 +3949,9 @@ dir = 4 }, /obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/cable{ + icon_state = "1-4" + }, /turf/open/floor/plasteel/white, /area/ship/engineering/engine) "MT" = ( diff --git a/_maps/shuttles/solgov/solgov_inkwell.dmm b/_maps/shuttles/solgov/solgov_inkwell.dmm index e42972d85eed..46b06a15c309 100644 --- a/_maps/shuttles/solgov/solgov_inkwell.dmm +++ b/_maps/shuttles/solgov/solgov_inkwell.dmm @@ -400,6 +400,9 @@ dir = 8 }, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/white, /area/ship/engineering) "dm" = ( @@ -4416,6 +4419,9 @@ }, /obj/machinery/light/directional/west, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "Ct" = ( @@ -4619,6 +4625,10 @@ /obj/structure/sign/poster/solgov/random{ pixel_y = 32 }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/open/floor/plasteel/tech/grid, /area/ship/engineering) "DF" = ( @@ -6933,6 +6943,9 @@ }, /obj/machinery/light/directional/north, /obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable{ + icon_state = "0-2" + }, /turf/open/floor/plasteel/tech, /area/ship/maintenance/port) "Ul" = ( diff --git a/_maps/shuttles/solgov/solgov_paracelsus.dmm b/_maps/shuttles/solgov/solgov_paracelsus.dmm index b4ca4f13cb07..212ba49ba231 100644 --- a/_maps/shuttles/solgov/solgov_paracelsus.dmm +++ b/_maps/shuttles/solgov/solgov_paracelsus.dmm @@ -2025,6 +2025,7 @@ /obj/machinery/atmospherics/pipe/manifold/general/visible/layer2{ dir = 4 }, +/obj/machinery/airalarm/directional/east, /turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "ul" = ( @@ -2450,7 +2451,8 @@ /area/ship/hallway/starboard) "xU" = ( /obj/effect/turf_decal/techfloor, -/obj/machinery/airalarm/directional/south, +/obj/structure/cable, +/obj/machinery/power/ship_gravity, /turf/open/floor/plasteel/tech/techmaint, /area/ship/maintenance/starboard) "xX" = ( @@ -3540,6 +3542,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 9 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/maintenance/starboard) "IO" = ( @@ -4552,6 +4557,9 @@ dir = 8; name = "Air to Distro" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark, /area/ship/maintenance/starboard) "RA" = ( diff --git a/_maps/shuttles/syndicate/syndicate_aegis.dmm b/_maps/shuttles/syndicate/syndicate_aegis.dmm index f5b0e87a6b1b..1558ea2edad1 100644 --- a/_maps/shuttles/syndicate/syndicate_aegis.dmm +++ b/_maps/shuttles/syndicate/syndicate_aegis.dmm @@ -1528,7 +1528,9 @@ name = "Engineering storage"; pixel_x = 23 }, -/obj/machinery/space_heater, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "mv" = ( @@ -1886,6 +1888,7 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "qa" = ( @@ -2512,11 +2515,11 @@ /area/ship/engineering) "wM" = ( /obj/machinery/atmospherics/pipe/layer_manifold, +/obj/structure/rack, /obj/item/clothing/mask/gas/suns, /obj/item/clothing/mask/gas/suns, /obj/item/clothing/mask/gas/suns, /obj/item/holosign_creator/atmos, -/obj/structure/rack, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "wQ" = ( @@ -2686,6 +2689,9 @@ pixel_y = 7 }, /obj/item/storage/toolbox/mechanical, +/obj/structure/cable/yellow{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "yA" = ( @@ -3860,12 +3866,9 @@ /turf/open/floor/carpet/red, /area/ship/crew/office) "Mb" = ( -/obj/machinery/portable_atmospherics/canister/air, -/obj/effect/turf_decal/corner_techfloor_grid/diagonal{ - dir = 4 - }, -/obj/effect/decal/cleanable/generic, /obj/machinery/light/small/directional/south, +/obj/machinery/power/ship_gravity, +/obj/structure/cable/yellow, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "Mc" = ( @@ -4978,6 +4981,7 @@ dir = 1 }, /obj/effect/decal/cleanable/glass, +/obj/machinery/space_heater, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "WE" = ( @@ -5256,7 +5260,6 @@ }, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, /obj/structure/catwalk/over, -/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/ship/engineering) "Zj" = ( @@ -5279,6 +5282,42 @@ }, /turf/open/floor/plasteel/tech, /area/ship/cargo) +"Zq" = ( +/obj/structure/closet/wall/orange{ + name = "Engineering locker"; + pixel_y = 30 + }, +/obj/machinery/atmospherics/pipe/simple/orange/hidden{ + dir = 8 + }, +/obj/item/tank/internals/oxygen, +/obj/item/storage/toolbox/syndicate{ + name = "syndicate toolbox"; + pixel_x = -3; + pixel_y = 5 + }, +/obj/item/storage/belt/utility/syndicate, +/obj/structure/catwalk/over, +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ + dir = 8 + }, +/obj/item/storage/box/stockparts/t2, +/obj/structure/cable/yellow{ + icon_state = "4-8" + }, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/clothing/gloves/suns/yellow, +/obj/item/clothing/shoes/jackboots/suns, +/obj/item/clothing/suit/toggle/suns/workervest, +/obj/item/clothing/under/syndicate/suns/workerjumpsuit, +/obj/item/clothing/mask/gas/suns, +/obj/item/clothing/head/safety_helmet/suns, +/obj/item/clothing/glasses/meson/engine, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, +/turf/open/floor/plating, +/area/ship/engineering) "Zu" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/effect/turf_decal/siding/wood{ @@ -5805,7 +5844,7 @@ vh ZU gB It -vs +Zq yb mt Mb diff --git a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm index 523a524de9d0..e9bf22ec61f6 100644 --- a/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm +++ b/_maps/shuttles/syndicate/syndicate_cybersun_kansatsu.dmm @@ -1156,6 +1156,9 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 5 }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plating, /area/ship/engineering) "BS" = ( @@ -1765,7 +1768,16 @@ dir = 1 }, /obj/machinery/light/small/directional/south, -/obj/machinery/space_heater, +/obj/structure/closet/secure_closet/engineering_personal, +/obj/item/clothing/glasses/welding, +/obj/item/clothing/glasses/welding, +/obj/item/storage/belt/utility/full, +/obj/item/storage/belt/utility/full, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/open/floor/plating, /area/ship/engineering) "SL" = ( @@ -1794,14 +1806,10 @@ /area/ship/engineering) "Ul" = ( /obj/effect/decal/cleanable/oil, -/obj/structure/closet/secure_closet/engineering_personal, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/storage/belt/utility/full, -/obj/item/storage/belt/utility/full, -/obj/item/clothing/glasses/welding, -/obj/item/clothing/glasses/welding, -/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ + icon_state = "0-4" + }, /turf/open/floor/plating, /area/ship/engineering) "UZ" = ( @@ -1976,6 +1984,7 @@ /obj/effect/turf_decal/spline/fancy/transparent/grey{ dir = 1 }, +/obj/machinery/space_heater, /turf/open/floor/plating, /area/ship/engineering) "ZI" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm index 0cd79289edec..029fd0f85fcf 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm @@ -2395,6 +2395,8 @@ /obj/structure/cable{ icon_state = "1-8" }, +/obj/machinery/power/ship_gravity, +/obj/structure/cable, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Oy" = ( diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm index b5135c604f0e..6676d9b8e89e 100644 --- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm +++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm @@ -2707,8 +2707,8 @@ /obj/structure/cable{ icon_state = "0-2" }, -/obj/structure/cable/yellow{ - icon_state = "1-4" +/obj/structure/cable{ + icon_state = "1-2" }, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) @@ -3244,13 +3244,11 @@ /turf/open/floor/mineral/plastitanium/red, /area/ship/hallway/central) "EL" = ( -/obj/effect/turf_decal/industrial/warning{ - dir = 6 - }, -/obj/machinery/computer/monitor, -/obj/structure/cable/yellow{ +/obj/machinery/power/ship_gravity, +/obj/structure/cable{ icon_state = "0-2" }, +/obj/effect/turf_decal/industrial/outline/yellow, /turf/open/floor/plasteel/tech/techmaint, /area/ship/engineering) "EN" = ( @@ -3524,9 +3522,6 @@ icon_state = "1-2" }, /obj/structure/catwalk/over, -/obj/structure/cable/yellow{ - icon_state = "1-8" - }, /turf/open/floor/plating, /area/ship/engineering) "HF" = ( diff --git a/_maps/shuttles/syndicate/syndicate_litieguai.dmm b/_maps/shuttles/syndicate/syndicate_litieguai.dmm index e81231480dfb..70c1330bd7a0 100644 --- a/_maps/shuttles/syndicate/syndicate_litieguai.dmm +++ b/_maps/shuttles/syndicate/syndicate_litieguai.dmm @@ -67,6 +67,12 @@ }, /turf/open/floor/plasteel/white, /area/ship/cargo) +"bz" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/power/ship_gravity, +/obj/structure/cable, +/turf/open/floor/plating, +/area/ship/maintenance/port) "bD" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4{ dir = 4 @@ -1379,7 +1385,6 @@ /area/ship/medical) "zT" = ( /obj/effect/turf_decal/number/zero, -/obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/ship/maintenance/starboard) "Ah" = ( @@ -1650,6 +1655,9 @@ /obj/effect/turf_decal/industrial/warning/corner{ dir = 8 }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plating, /area/ship/maintenance/port) "DX" = ( @@ -2790,6 +2798,10 @@ /obj/structure/window/reinforced/fulltile/shuttle, /turf/open/floor/plating, /area/ship/science) +"VN" = ( +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/ship/maintenance/starboard) "WB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer2, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -2925,7 +2937,9 @@ dir = 4 }, /obj/item/storage/toolbox/electrical, -/obj/machinery/light/small/directional/south, +/obj/structure/cable{ + icon_state = "2-8" + }, /turf/open/floor/plating, /area/ship/maintenance/port) "YA" = ( @@ -3158,7 +3172,7 @@ HU ZC XL Yw -ZC +bz fp UG vx @@ -3172,7 +3186,7 @@ gL UG UG Ti -UO +VN zT kh UO @@ -3182,7 +3196,7 @@ ZC KS Xu ZC -UG +fp UG UG Ra @@ -3194,7 +3208,7 @@ tO Ra UG UG -UG +Ti UO wt xW diff --git a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm index 79c693817dda..5d43bd59e8ea 100644 --- a/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm +++ b/_maps/shuttles/syndicate/syndicate_twinkleshine.dmm @@ -410,6 +410,9 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, +/obj/structure/cable/yellow{ + icon_state = "2-4" + }, /turf/open/floor/plasteel/dark, /area/ship/engineering/atmospherics) "cC" = ( @@ -7103,6 +7106,7 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 5 }, +/obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/plasteel/dark, /area/ship/engineering/atmospherics) "Pd" = ( @@ -8157,7 +8161,8 @@ /turf/open/floor/plasteel/tech, /area/ship/hallway/central) "UB" = ( -/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/power/ship_gravity, +/obj/structure/cable/yellow, /turf/open/floor/plasteel/dark, /area/ship/engineering/atmospherics) "UC" = ( diff --git a/code/controllers/subsystem/overmap.dm b/code/controllers/subsystem/overmap.dm index b96a4944c812..93852230b244 100644 --- a/code/controllers/subsystem/overmap.dm +++ b/code/controllers/subsystem/overmap.dm @@ -274,7 +274,7 @@ SUBSYSTEM_DEF(overmap) var/datum/map_zone/mapzone = SSmapping.create_map_zone(encounter_name) var/datum/virtual_level/vlevel = SSmapping.create_virtual_level( encounter_name, - list(ZTRAIT_MINING = TRUE, ZTRAIT_BASETURF = dynamic_datum.default_baseturf), + list(ZTRAIT_MINING = TRUE, ZTRAIT_BASETURF = dynamic_datum.default_baseturf, ZTRAIT_GRAVITY = dynamic_datum.gravity), mapzone, dynamic_datum.vlevel_width, dynamic_datum.vlevel_height, diff --git a/code/game/area/ship_areas.dm b/code/game/area/ship_areas.dm index abf40f900af5..5f4e75b71d4d 100644 --- a/code/game/area/ship_areas.dm +++ b/code/game/area/ship_areas.dm @@ -68,7 +68,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station /area/ship dynamic_lighting = DYNAMIC_LIGHTING_FORCED - has_gravity = STANDARD_GRAVITY always_unpowered = FALSE area_flags = VALID_TERRITORY | BLOBS_ALLOWED // Loading the same shuttle map at a different time will produce distinct area instances. icon_state = "shuttle" diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 0c4cdb31c9be..b539e421508d 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -1556,6 +1556,7 @@ * * No gravity if this atom is in is a space turf * * Gravity if the area it's in always has gravity * * Gravity if there's a gravity generator on the z level + * * Gravity if there is a ship gravity generator in a ship * * Gravity if the Z level has an SSMappingTrait for ZTRAIT_GRAVITY * * otherwise no gravity */ @@ -1588,12 +1589,22 @@ else // See if there's a gravity generator on our map zone var/datum/map_zone/mapzone = T.get_map_zone() + var/max_grav = T.virtual_level_trait(ZTRAIT_GRAVITY) if(mapzone?.gravity_generators.len) - var/max_grav = 0 for(var/obj/machinery/gravity_generator/main/G as anything in mapzone.gravity_generators) max_grav = max(G.setting,max_grav) - return max_grav - return T.virtual_level_trait(ZTRAIT_GRAVITY) + // Check for ship-based gravity + var/area/ship/ship = A + if(istype(ship)) + var/obj/docking_port/mobile/shuttle = ship.mobile_port + if(shuttle) + for(var/datum/weakref/weakref as anything in shuttle.gravgen_list) + var/obj/machinery/power/ship_gravity/SG = weakref.resolve() + if(!SG) + shuttle.gravgen_list -= weakref + continue + max_grav = max(SG.active,max_grav) + return max_grav /** * Called when a mob examines (shift click or verb) this atom twice (or more) within EXAMINE_MORE_TIME (default 1.5 seconds) diff --git a/code/game/machinery/shuttle/ship_gravity.dm b/code/game/machinery/shuttle/ship_gravity.dm new file mode 100644 index 000000000000..bfcf937f341a --- /dev/null +++ b/code/game/machinery/shuttle/ship_gravity.dm @@ -0,0 +1,124 @@ +// +// Ship Gravity Generator +// + +/obj/machinery/power/ship_gravity + name = "gravitational generator" + desc = "A ship-portable gravity generator, capable of providing gravity throughout the vessel it is installed on." + icon = 'icons/obj/machines/ship_gravity.dmi' + icon_state = "shipgrav" + base_icon_state = "shipgrav" + density = TRUE + idle_power_usage = 10 + active_power_usage = 5000 + circuit = /obj/item/circuitboard/machine/ship_gravity + var/charging = FALSE + var/active = FALSE + var/charge = 0 + +/obj/machinery/power/ship_gravity/unanchored + anchored = FALSE + +/obj/machinery/power/ship_gravity/admin + idle_power_usage = 0 + active_power_usage = 0 + active = TRUE + +/obj/machinery/power/ship_gravity/Initialize() + . = ..() + if(anchored) + connect_to_network() + +/obj/machinery/power/ship_gravity/process() + if(charging && (!active_power_usage || surplus() >= active_power_usage)) + add_load(active_power_usage) + charge = min(charge+1, 5) + if(charge >= 5) + set_state(TRUE) + else + charge = max(charge-1, 0) + if(!charge) + set_state(FALSE) + update_appearance() + +/obj/machinery/power/ship_gravity/proc/set_state(toggle) + if(toggle == active) + return + if(toggle) + active = TRUE + playsound(src.loc, 'sound/effects/empulse.ogg', 100, TRUE) + visible_message(span_warning("The [src.name] finishes charging!"), blind_message = span_hear("You hear a low hum fade in.")) + else + visible_message(span_danger("The [src.name] shuts down due to lack of power!"), blind_message = span_hear("You hear a low hum fade out.")) + active = FALSE + log_game("[src] deactivated due to lack of power at [AREACOORD(src)]", INVESTIGATE_GRAVITY) + update_appearance() + +/obj/machinery/power/ship_gravity/update_overlays() + . = ..() + var/mutable_appearance/charge_state + if(active) + charge_state = mutable_appearance(icon, "charge_active") + if(charge < 5) + charge_state = mutable_appearance(icon, "charge_[charge]") + . += charge_state + +/obj/machinery/power/ship_gravity/examine(mob/user) + . = ..() + if(anchored) + . += span_info("It's secured to the floor, you can unsecure it with a wrench.") + else + . += span_info("It's currently unsecured, you can secure it with a wrench.") + if(in_range(user, src) || isobserver(user)) + if(!charging && !charge) + . += span_info("Its status display is currently turned off.") + else + . += span_info("Its status display reads: Current charge at [charge*20]%.") + +/obj/machinery/power/ship_gravity/screwdriver_act(mob/living/user, obj/item/I) + ..() + if(charging || charge) + to_chat(user, span_notice("You cannot open the maintenance panel on [src] while it is active!")) + return TRUE + default_deconstruction_screwdriver(user, "shipgrav_o", "shipgrav", I) + return TRUE + +/obj/machinery/power/ship_gravity/wrench_act(mob/living/user, obj/item/I) + . =..() + if(active) + to_chat(user, span_notice("You cannot unsecure [src] while it is active!")) + return TRUE + default_unfasten_wrench(user, I) + return TRUE + +/obj/machinery/power/ship_gravity/crowbar_act(mob/living/user, obj/item/I) + . = ..() + default_deconstruction_crowbar(I) + return TRUE + +/obj/machinery/power/ship_gravity/default_unfasten_wrench(mob/user, obj/item/I, time = 20) + . = ..() + if(. == SUCCESSFUL_UNFASTEN) + if(anchored) + connect_to_network() + else + disconnect_from_network() + charging = FALSE + set_state(FALSE) + +/obj/machinery/power/ship_gravity/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock) + . = ..() + port.gravgen_list |= WEAKREF(src) + +/obj/machinery/power/ship_gravity/interact(mob/user) + if(!powernet && active_power_usage) + to_chat(user, span_notice("[src] isn't connected to a wire!")) + return + if(panel_open) + return + charging = !charging + play_click_sound("switch") + user.visible_message(span_warning("[user] flips [src]'s power [charging ? "on" : "off"]!"), \ + span_info("You flip [src]'s power lever, turning it [charging ? "on" : "off"]"), \ + span_hear("You hear a heavy lever being pulled.")) + update_appearance() diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index 9f7831577d4c..6a5fa6e70a12 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -389,6 +389,17 @@ name = "Freezer (Machine Board)" build_path = PATH_FREEZER +/obj/item/circuitboard/machine/ship_gravity + name = "Gravity Generator (Machine Board)" + icon_state = "engineering" + build_path = /obj/machinery/power/ship_gravity + req_components = list( + /obj/item/stock_parts/capacitor = 5, + /obj/item/stack/sheet/bluespace_crystal = 1, + /obj/item/stock_parts/micro_laser = 4 + ) + needs_anchored = FALSE + #undef PATH_FREEZER #undef PATH_HEATER diff --git a/code/modules/cargo/packs/machinery.dm b/code/modules/cargo/packs/machinery.dm index 215b146fad43..0bf718fffdd5 100644 --- a/code/modules/cargo/packs/machinery.dm +++ b/code/modules/cargo/packs/machinery.dm @@ -136,6 +136,14 @@ Miscellaneous machines */ +/datum/supply_pack/machinery/gravgen + name = "Ship-Portable Gravity Generator Crate" + desc = "For those tired of their tools floating away from them. Contains a single gravity generator." + cost = 2000 + contains = list(/obj/machinery/power/ship_gravity/unanchored) + crate_name = "gravity generator crate" + crate_type = /obj/structure/closet/crate/engineering/electrical + /datum/supply_pack/machinery/breach_shield_gen name = "Anti-breach Shield Projector Crate" desc = "Hull breaches again? Say no more with the Nanotrasen Anti-Breach Shield Projector! Uses forcefield technology to keep the air in, and the space out. Contains two shield projectors." diff --git a/code/modules/overmap/objects/dynamic_datum.dm b/code/modules/overmap/objects/dynamic_datum.dm index 69591c71dc8e..dcc62aad7424 100644 --- a/code/modules/overmap/objects/dynamic_datum.dm +++ b/code/modules/overmap/objects/dynamic_datum.dm @@ -35,6 +35,9 @@ /// The turf used as the backup baseturf for any reservations created by this datum. Should not be null. var/turf/default_baseturf = /turf/open/space + ///The default gravity the virtual z will have + var/gravity = 0 + ///The weather the virtual z will have. If null, the planet will have no weather. var/datum/weather_controller/weather_controller_type @@ -139,6 +142,7 @@ token.color = planet.color ruin_type = planet.ruin_type default_baseturf = planet.default_baseturf + gravity = planet.gravity mapgen = planet.mapgen weather_controller_type = planet.weather_controller_type landing_sound = planet.landing_sound diff --git a/code/modules/overmap/objects/outpost/outpost.dm b/code/modules/overmap/objects/outpost/outpost.dm index 774057b68a08..0e4c385651ee 100644 --- a/code/modules/overmap/objects/outpost/outpost.dm +++ b/code/modules/overmap/objects/outpost/outpost.dm @@ -24,10 +24,12 @@ // NOTE: "planetary" outposts should use baseturf specification and possibly different ztrait sun type, for both hangars and main level. var/list/main_level_ztraits = list( ZTRAIT_STATION = TRUE, - ZTRAIT_SUN_TYPE = AZIMUTH + ZTRAIT_SUN_TYPE = AZIMUTH, + ZTRAIT_GRAVITY = STANDARD_GRAVITY ) var/list/hangar_ztraits = list( - ZTRAIT_SUN_TYPE = STATIC_EXPOSED + ZTRAIT_SUN_TYPE = STATIC_EXPOSED, + ZTRAIT_GRAVITY = STANDARD_GRAVITY ) /// The mapzone used by the outpost level and hangars. Using a single mapzone means networked radio messages. diff --git a/code/modules/overmap/planets/planet_types.dm b/code/modules/overmap/planets/planet_types.dm index 2152d4efe5ef..74ea0165b357 100644 --- a/code/modules/overmap/planets/planet_types.dm +++ b/code/modules/overmap/planets/planet_types.dm @@ -5,6 +5,7 @@ var/ruin_type = null var/mapgen = null var/default_baseturf = null + var/gravity = 0 var/weather_controller_type = null var/icon_state = "globe" var/color = "#ffffff" @@ -20,6 +21,7 @@ color = COLOR_ORANGE mapgen = /datum/map_generator/planet_generator/lava default_baseturf = /turf/open/floor/plating/asteroid/basalt/lava + gravity = STANDARD_GRAVITY weather_controller_type = /datum/weather_controller/lavaland ruin_type = RUINTYPE_LAVA landing_sound = 'sound/effects/planet_landing_2.ogg' @@ -33,6 +35,7 @@ color = COLOR_BLUE_LIGHT mapgen = /datum/map_generator/planet_generator/snow default_baseturf = /turf/open/floor/plating/asteroid/snow/icemoon + gravity = STANDARD_GRAVITY weather_controller_type = /datum/weather_controller/snow_planet ruin_type = RUINTYPE_ICE landing_sound = 'sound/effects/planet_landing_2.ogg' @@ -45,6 +48,7 @@ color = COLOR_LIME mapgen = /datum/map_generator/planet_generator/jungle default_baseturf = /turf/open/floor/plating/dirt/jungle + gravity = STANDARD_GRAVITY weather_controller_type = /datum/weather_controller/lush ruin_type = RUINTYPE_JUNGLE landing_sound = 'sound/effects/planet_landing_1.ogg' @@ -57,6 +61,7 @@ color = "#bd1313" mapgen = /datum/map_generator/planet_generator/rock default_baseturf = /turf/open/floor/plating/asteroid + gravity = STANDARD_GRAVITY weather_controller_type = /datum/weather_controller/rockplanet ruin_type = RUINTYPE_ROCK landing_sound = 'sound/effects/planet_landing_2.ogg' @@ -69,6 +74,7 @@ color = COLOR_GRAY mapgen = /datum/map_generator/planet_generator/sand default_baseturf = /turf/open/floor/plating/asteroid/whitesands + gravity = STANDARD_GRAVITY weather_controller_type = /datum/weather_controller/desert ruin_type = RUINTYPE_SAND landing_sound = 'sound/effects/planet_landing_2.ogg' @@ -81,6 +87,7 @@ color = "#c6b597" mapgen = /datum/map_generator/planet_generator/beach default_baseturf = /turf/open/floor/plating/asteroid/sand/lit + gravity = STANDARD_GRAVITY weather_controller_type = /datum/weather_controller/lush ruin_type = RUINTYPE_BEACH landing_sound = 'sound/effects/planet_landing_1.ogg' @@ -92,6 +99,7 @@ icon_state = "wormhole" color = COLOR_YELLOW mapgen = /datum/map_generator/single_biome/reebe + gravity = STANDARD_GRAVITY default_baseturf = /turf/open/chasm/reebe_void weather_controller_type = null weight = 0 @@ -131,6 +139,7 @@ color = "#a9883e" mapgen = /datum/map_generator/planet_generator/waste default_baseturf = /turf/open/floor/plating/asteroid/wasteplanet + gravity = STANDARD_GRAVITY weather_controller_type = /datum/weather_controller/chlorine ruin_type = RUINTYPE_WASTE landing_sound = 'sound/effects/planet_landing_2.ogg' @@ -142,6 +151,7 @@ icon_state = "globe" color = COLOR_DARK_MODERATE_ORANGE mapgen = /datum/map_generator/single_biome/gas_giant + gravity = GAS_GIANT_GRAVITY default_baseturf = /turf/open/chasm/gas_giant weather_controller_type = null ruin_type = null //it's a Gas Giant. Not Cloud fuckin City @@ -155,6 +165,7 @@ planet = DYNAMIC_WORLD_PLASMA_GIANT color = COLOR_PURPLE mapgen = /datum/map_generator/single_biome/plasma_giant + gravity = GAS_GIANT_GRAVITY default_baseturf = /turf/open/chasm/gas_giant/plasma weight = 0 icon_state = "globe" diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 1e4660c48953..a6020d0fae11 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -1,4 +1,3 @@ - // // Gravity Generator // diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 3cf848089652..e12db8a59738 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -247,7 +247,6 @@ build_path = /obj/item/circuitboard/machine/rdserver category = list("Research Machinery", "initial", "Equipment") - /datum/design/board/mechfab name = "Machine Design (Exosuit Fabricator Board)" desc = "The circuit board for an Exosuit Fabricator." @@ -471,6 +470,14 @@ category = list ("Misc. Machinery") departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE +/datum/design/board/ship_gravity + name = "Machine Design (Ship Gravity Generator Board)" + desc = "The circuit board for a ship-sized gravity generator." + id = "ship_gravity" + build_type = AUTOLATHE | IMPRINTER + build_path = /obj/item/circuitboard/machine/ship_gravity + category = list("Misc. Machinery", "initial", "Equipment") + /datum/design/board/ntnet_relay name = "Machine Design (NTNet Relay Board)" desc = "The circuit board for a wireless network relay." diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 8bfe1f7e9bd8..14a7497728a9 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -318,6 +318,9 @@ ///A list of all engines currently linked to the shuttle. var/list/engine_list = list() + ///A list of all gravity generators currently linked to the shuttle. + var/list/gravgen_list = list() + ///if this shuttle can move docking ports other than the one it is docked at var/can_move_docking_ports = TRUE diff --git a/icons/obj/machines/ship_gravity.dmi b/icons/obj/machines/ship_gravity.dmi new file mode 100644 index 0000000000000000000000000000000000000000..276fcf2b672036ec2fcea34cc7546387e0668c17 GIT binary patch literal 916 zcmV;F18e+=P)C0000;P)t-sz`(#G zBPU>Eb(EK@NJd3AG&3(SH>Rn$ZgGTodyapCm9)0Ph>M@Uz{&|E4kslfM@n0tk{Agp z4{~*gT3v6r|KoM_!@$76LGLRT00001bW%=J06^y0W&i*HqV{)6cfMK^qZ=W1)!Syq!}$taXe`T4t`0Z|vakXq~+zRZsyEq5AoqCo^EdBGOwl!h+#f#I>YVY=n>i*FX_ zXL&gT@@bKafDqCQPEgh zDVML)m?sw@3!KLKBG46F1{GZz7PvGj(A4S6QJikY7doFPBg+e6eX_CU5P*RB1lMbR zob&seA9sJiT43w{0RR910002s^WfRgDqwy#eD}lWzyEZM4gdfE00000z{k1XpKM+| q`CRkQK>z{}000000001h|AW6*Xdq(NU!;ft0000