From 6da4462e14720a773e3fa6953ab7fcd327c0501d Mon Sep 17 00:00:00 2001 From: Tim Date: Fri, 6 Dec 2024 16:02:21 -0600 Subject: [PATCH] Fix gravity for areas in space near station (#88176) ## About The Pull Request - Fixes #76827 This removes gravity from the following areas: - Solars - Nearstation - Space - Ordnance bomb testing ##### Note - Asteroid areas (Tram) or planet areas (Ice) are not affected.
Examples of outside gravity turfs ![dreamseeker_Mml3HmRaIK](https://github.com/user-attachments/assets/b6e410b7-e242-4c77-8cc8-34e15bd96b42)
Now stepping on floor plating in those areas will result in mobs drifting. (like they do inside the station when gravity is offline) Stepping on or near catwalks, lattices, or walls stills controls your movement. Also refactored a little bit of the `has_gravity` code to use defines instead of `TRUE/FALSE`. ## Why It's Good For The Game Consistency. Mag boots are highly recommended when performing EVA. ## Changelog :cl: fix: Fix gravity for areas in space near station (solars, nearspace, bomb testing, etc.) /:cl: --- .../map_files/IceBoxStation/IceBoxStation.dmm | 42 ++-- .../maintenance_modules/dormenginelower_1.dmm | 18 +- .../maintenance_modules/dormenginelower_2.dmm | 18 +- .../maintenance_modules/dormenginelower_3.dmm | 18 +- .../servicecargolower_1.dmm | 16 +- .../servicecargolower_2.dmm | 20 +- .../servicecargolower_3.dmm | 16 +- _maps/map_files/tramstation/tramstation.dmm | 188 ++++++++---------- code/__DEFINES/_flags.dm | 2 + code/__DEFINES/gravity.dm | 3 +- code/__HELPERS/areas.dm | 2 +- code/game/area/areas.dm | 4 +- code/game/area/areas/away_content.dm | 6 +- code/game/area/areas/centcom.dm | 14 +- code/game/area/areas/mining.dm | 6 +- code/game/area/areas/misc.dm | 8 +- code/game/area/areas/ruins/_ruins.dm | 4 +- code/game/area/areas/ruins/space.dm | 10 +- code/game/area/areas/shuttles.dm | 4 +- code/game/area/areas/station/science.dm | 5 +- code/game/area/areas/station/solars.dm | 13 +- code/game/atom/_atom.dm | 3 +- .../sacrifice_knowledge/sacrifice_map.dm | 2 +- .../voidwalker/voidwalker_kidnap.dm | 2 +- .../awaymissions/mission_code/Beach.dm | 2 +- .../basketball/basketball_map_loading.dm | 2 +- code/modules/bitrunning/areas.dm | 2 +- code/modules/deathmatch/deathmatch_mapping.dm | 2 +- .../ruins/spaceruin_code/anomalyresearch.dm | 2 +- .../ruins/spaceruin_code/commsbuoy.dm | 2 +- .../ruins/spaceruin_code/hilbertshotel.dm | 4 +- code/modules/mining/equipment/survival_pod.dm | 2 +- code/modules/mob/living/living_movement.dm | 2 +- 33 files changed, 219 insertions(+), 225 deletions(-) diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 498bba9c2e8..c0c55d2f95f 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -803,7 +803,7 @@ dir = 4 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "anP" = ( /obj/structure/table, /obj/machinery/light_switch/directional/north, @@ -3327,7 +3327,7 @@ dir = 10 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "aWc" = ( /obj/structure/railing{ dir = 8 @@ -4003,7 +4003,7 @@ desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease"; name = "hyper-reinforced wall" }, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "bff" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -4828,7 +4828,7 @@ /obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "bqt" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/circuit, @@ -5503,7 +5503,7 @@ "byB" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "byH" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/iron/dark, @@ -9895,7 +9895,7 @@ dir = 9 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "cJC" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/four, @@ -15815,7 +15815,7 @@ /area/station/security/prison/rec) "evT" = ( /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "ewi" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -26458,7 +26458,7 @@ "hDA" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "hDG" = ( /obj/docking_port/stationary/random/icemoon{ dir = 4; @@ -30139,7 +30139,7 @@ dir = 10 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "iJK" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -30183,7 +30183,7 @@ dir = 1 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "iKd" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/siding/white, @@ -38618,7 +38618,7 @@ dir = 6 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "lhu" = ( /obj/machinery/camera/directional/north{ c_tag = "Xenobiology Lab Access"; @@ -41112,7 +41112,7 @@ dir = 9 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "lRf" = ( /obj/machinery/teleport/station, /turf/open/floor/plating, @@ -42518,7 +42518,7 @@ dir = 1 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "mpH" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -42913,7 +42913,7 @@ "mvE" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "mvG" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 8 @@ -44043,7 +44043,7 @@ dir = 5 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "mNi" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -50619,7 +50619,7 @@ dir = 8 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "oDg" = ( /obj/structure/chair/stool/directional/west, /obj/effect/decal/cleanable/dirt, @@ -51275,7 +51275,7 @@ dir = 6 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "oLz" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -55096,7 +55096,7 @@ /area/station/medical/treatment_center) "pRa" = ( /turf/closed/wall, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "pRj" = ( /turf/closed/wall, /area/station/maintenance/port/aft) @@ -58093,7 +58093,7 @@ dir = 5 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "qKQ" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -71028,7 +71028,7 @@ dir = 4 }, /turf/open/floor/plating/icemoon, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "uyW" = ( /obj/machinery/washing_machine, /obj/effect/turf_decal/siding/blue{ @@ -79919,7 +79919,7 @@ name = "BOMB RANGE" }, /turf/closed/wall, -/area/station/science/ordnance/bomb) +/area/station/science/ordnance/bomb/planet) "xgK" = ( /obj/structure/table, /obj/item/transfer_valve{ diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_1.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_1.dmm index 7e99bf96803..daec11b31a2 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_1.dmm @@ -2735,7 +2735,7 @@ gs IK IK IK -pD +mg "} (53,1,1) = {" AN @@ -2771,7 +2771,7 @@ IK IK IK IK -pD +mg "} (54,1,1) = {" AN @@ -2804,10 +2804,10 @@ gs IK IK IK -pD -pD -pD -pD +mg +mg +mg +mg "} (55,1,1) = {" AN @@ -2840,7 +2840,7 @@ IK IK IK IK -pD +mg IK IK IK @@ -2875,8 +2875,8 @@ cV cV mg sf -pD -pD +mg +mg IK IK IK diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_2.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_2.dmm index e7c0c22ad05..dd68accab50 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_2.dmm @@ -2907,7 +2907,7 @@ gs IK IK IK -pD +mg "} (53,1,1) = {" AN @@ -2943,7 +2943,7 @@ IK IK IK IK -pD +mg "} (54,1,1) = {" AN @@ -2976,10 +2976,10 @@ gs IK IK IK -pD -pD -pD -pD +mg +mg +mg +mg "} (55,1,1) = {" AN @@ -3012,7 +3012,7 @@ IK IK IK IK -pD +mg IK IK IK @@ -3047,8 +3047,8 @@ cV cV mg sf -pD -pD +mg +mg IK IK gs diff --git a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_3.dmm b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_3.dmm index 334f49ad8b6..83d22aaf3d8 100644 --- a/_maps/map_files/tramstation/maintenance_modules/dormenginelower_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/dormenginelower_3.dmm @@ -2638,7 +2638,7 @@ gs IK IK IK -pD +mg "} (53,1,1) = {" AN @@ -2674,7 +2674,7 @@ IK IK IK IK -pD +mg "} (54,1,1) = {" AN @@ -2707,10 +2707,10 @@ gs IK IK IK -pD -pD -pD -pD +mg +mg +mg +mg "} (55,1,1) = {" AN @@ -2743,7 +2743,7 @@ IK IK IK IK -pD +mg IK IK IK @@ -2778,8 +2778,8 @@ cV cV mg sf -pD -pD +mg +mg IK IK gs diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_1.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_1.dmm index 5eae1f6e7ec..cc4cbdcdd96 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_1.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_1.dmm @@ -1037,7 +1037,7 @@ a J J J -W +t J J J @@ -1060,10 +1060,10 @@ Z "} (29,1,1) = {" m -W -W -W -W +t +t +t +t J J J @@ -1086,7 +1086,7 @@ Z "} (30,1,1) = {" J -W +t J J J @@ -1111,8 +1111,8 @@ Z Z "} (31,1,1) = {" -W -W +t +t J J a diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_2.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_2.dmm index 02960cfadc5..df7d703de15 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_2.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_2.dmm @@ -136,10 +136,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/greater) -"oT" = ( -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/station/asteroid) "oV" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/button/door/directional/west{ @@ -1112,7 +1108,7 @@ Rk cV cV cV -oT +ja cV sj PC @@ -1135,10 +1131,10 @@ fX "} (29,1,1) = {" Cn -oT -oT -oT -oT +ja +ja +ja +ja cV sj sj @@ -1161,7 +1157,7 @@ fX "} (30,1,1) = {" cV -oT +ja cV cV cV @@ -1186,8 +1182,8 @@ fX fX "} (31,1,1) = {" -oT -oT +ja +ja cV cV Rk diff --git a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_3.dmm b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_3.dmm index 02618e94a68..12357ca0a2f 100644 --- a/_maps/map_files/tramstation/maintenance_modules/servicecargolower_3.dmm +++ b/_maps/map_files/tramstation/maintenance_modules/servicecargolower_3.dmm @@ -948,7 +948,7 @@ a J J J -W +t J J J @@ -971,10 +971,10 @@ Z "} (29,1,1) = {" m -W -W -W -W +t +t +t +t J J J @@ -997,7 +997,7 @@ Z "} (30,1,1) = {" J -W +t J J J @@ -1022,8 +1022,8 @@ Z Z "} (31,1,1) = {" -W -W +t +t J J a diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 0c1245591ec..86f4db1976b 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -77,7 +77,7 @@ /obj/effect/turf_decal/sand/plating, /obj/structure/cable, /turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) +/area/station/solars/starboard/fore/asteriod) "aan" = ( /turf/open/floor/iron/stairs/medium{ dir = 8 @@ -103,7 +103,7 @@ /obj/effect/turf_decal/sand/plating, /obj/machinery/light/small/directional/west, /turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) +/area/station/solars/starboard/fore/asteriod) "aat" = ( /obj/item/stack/cable_coil, /turf/open/misc/asteroid/airless, @@ -112,7 +112,7 @@ /obj/effect/turf_decal/sand/plating, /obj/machinery/light/small/directional/east, /turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) +/area/station/solars/starboard/fore/asteriod) "aaw" = ( /obj/item/storage/toolbox/electrical, /turf/open/misc/asteroid/airless, @@ -136,7 +136,7 @@ /obj/effect/turf_decal/sand/plating, /obj/structure/cable/layer1, /turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) +/area/station/solars/starboard/fore/asteriod) "aaD" = ( /obj/structure/ore_box, /turf/open/misc/asteroid/airless, @@ -1340,19 +1340,19 @@ id = "portsolar" }, /turf/open/floor/plating/airless, -/area/station/solars/port) +/area/station/solars/port/asteriod) "ael" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/cable/layer1, /obj/structure/cable, /turf/open/floor/plating/airless, -/area/station/solars/port) +/area/station/solars/port/asteriod) "aem" = ( /obj/item/storage/toolbox/electrical, /obj/effect/turf_decal/sand/plating, /obj/structure/cable/layer1, /turf/open/floor/plating/airless, -/area/station/solars/port) +/area/station/solars/port/asteriod) "aen" = ( /obj/effect/turf_decal/sand/plating, /obj/item/stack/ore/glass, @@ -5913,7 +5913,7 @@ /area/station/cargo/sorting) "aST" = ( /turf/closed/wall/r_wall, -/area/station/solars/port) +/area/station/maintenance/solars/port) "aTa" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -6259,7 +6259,7 @@ /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "bcq" = ( /obj/effect/landmark/secequipment, /obj/effect/turf_decal/bot, @@ -6952,7 +6952,7 @@ /obj/effect/turf_decal/sand/plating, /obj/machinery/light/floor, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "bsW" = ( /obj/machinery/duct, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -8392,10 +8392,6 @@ /obj/structure/water_source/puddle, /turf/open/misc/asteroid, /area/station/security/prison/workout) -"bRE" = ( -/obj/structure/lattice/catwalk, -/turf/open/floor/plating/airless, -/area/station/solars/port) "bSd" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, @@ -9568,7 +9564,7 @@ dir = 1 }, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "ckr" = ( /obj/structure/table, /obj/item/assembly/timer{ @@ -10564,7 +10560,7 @@ /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "cCr" = ( /obj/structure/cable, /obj/machinery/light/warm/directional/east, @@ -10958,7 +10954,7 @@ dir = 1 }, /turf/open/openspace, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "cII" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -12237,7 +12233,7 @@ /obj/effect/turf_decal/stripes/box, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "deU" = ( /obj/structure/closet/emcloset, /obj/machinery/light/dim/directional/west, @@ -13990,7 +13986,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/light/dim/directional/south, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "dMw" = ( /obj/machinery/door/airlock/hatch{ name = "Emergency Exit" @@ -14954,7 +14950,7 @@ /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "edE" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -15514,7 +15510,7 @@ /obj/structure/cable, /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "eqK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -16131,7 +16127,7 @@ /obj/effect/turf_decal/stripes/box, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "eBd" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 @@ -16912,6 +16908,9 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"eSh" = ( +/turf/closed/wall, +/area/station/solars/starboard/fore/asteriod) "eSj" = ( /obj/structure/table, /obj/item/storage/box/firingpins, @@ -17508,7 +17507,7 @@ }, /obj/structure/cable, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "feP" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 @@ -18486,7 +18485,7 @@ /obj/structure/cable/layer1, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "fvM" = ( /obj/structure/stairs/north, /turf/open/floor/iron/stairs/medium, @@ -19614,7 +19613,7 @@ /obj/structure/cable/multilayer/connected, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "fSM" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 10 @@ -20060,7 +20059,7 @@ /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "gbl" = ( /obj/structure/chair/office{ dir = 1 @@ -21068,7 +21067,7 @@ }, /obj/structure/cable, /turf/open/openspace, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "gtZ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/machinery/airalarm/directional/south, @@ -21371,7 +21370,7 @@ /obj/structure/cable/layer1, /obj/structure/cable, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "gAH" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -21760,7 +21759,7 @@ /obj/effect/turf_decal/sand/plating, /obj/machinery/light/small/directional/south, /turf/open/floor/plating/airless, -/area/station/solars/port) +/area/station/solars/port/asteriod) "gGV" = ( /obj/structure/table, /obj/item/instrument/harmonica, @@ -23359,7 +23358,7 @@ /obj/effect/turf_decal/sand/plating, /obj/structure/cable, /turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) +/area/station/solars/starboard/fore/asteriod) "hmb" = ( /obj/effect/turf_decal/tile/bar{ dir = 8 @@ -24058,7 +24057,7 @@ /obj/structure/cable, /obj/structure/cable/layer1, /turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) +/area/station/solars/starboard/fore/asteriod) "hDF" = ( /obj/machinery/computer/apc_control{ dir = 1 @@ -26447,17 +26446,6 @@ /obj/machinery/status_display/evac/directional/east, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) -"ixH" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/space/openspace, -/area/space/nearstation) "ixO" = ( /obj/structure/chair/comfy/brown{ dir = 8; @@ -27807,7 +27795,7 @@ }, /obj/structure/cable, /turf/open/openspace, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "iXx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /obj/structure/lattice, @@ -28136,7 +28124,7 @@ "jcT" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, -/area/station/solars/port) +/area/station/solars/port/asteriod) "jde" = ( /obj/machinery/door/airlock/engineering{ name = "Vacant Office A" @@ -28337,7 +28325,7 @@ /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "jgn" = ( /obj/structure/table/reinforced, /obj/structure/displaycase/forsale/kitchen{ @@ -31478,7 +31466,7 @@ /obj/structure/cable/multilayer/multiz, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "kgG" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -31905,7 +31893,7 @@ "koo" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "koq" = ( /obj/machinery/air_sensor/oxygen_tank, /turf/open/floor/engine/o2, @@ -34503,7 +34491,7 @@ /obj/structure/cable/multilayer/connected, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "lhV" = ( /obj/structure/displaycase/trophy, /obj/machinery/light/warm/directional/west, @@ -35166,7 +35154,7 @@ /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "lsx" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/trimline/dark_blue/corner{ @@ -35593,7 +35581,7 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "lzo" = ( /obj/machinery/door/window/left/directional/south, /turf/open/floor/grass, @@ -36326,7 +36314,7 @@ /obj/structure/cable/layer1, /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "lMJ" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -36362,7 +36350,7 @@ /obj/effect/turf_decal/sand/plating, /obj/structure/cable/layer1, /turf/open/floor/plating/airless, -/area/station/solars/port) +/area/station/solars/port/asteriod) "lMZ" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -37925,7 +37913,7 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /obj/structure/cable, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "mns" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 1 @@ -38298,7 +38286,7 @@ }, /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "muZ" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -39095,7 +39083,7 @@ "mJF" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "mJG" = ( /obj/structure/chair/stool/bar/directional/north, /obj/effect/turf_decal/siding/thinplating{ @@ -39123,7 +39111,7 @@ /obj/structure/cable/layer1, /obj/structure/cable, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "mKh" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -39596,7 +39584,7 @@ }, /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "mWC" = ( /obj/machinery/holopad, /obj/machinery/firealarm/directional/north, @@ -39928,7 +39916,7 @@ /obj/effect/turf_decal/sand/plating, /obj/structure/cable, /turf/open/floor/plating/airless, -/area/station/solars/port) +/area/station/solars/port/asteriod) "ncF" = ( /turf/closed/wall, /area/station/maintenance/tram/left) @@ -40056,7 +40044,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "neC" = ( /obj/structure/railing{ dir = 1 @@ -40476,7 +40464,7 @@ "nkU" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) +/area/station/solars/starboard/fore/asteriod) "nle" = ( /obj/machinery/door/airlock/security{ name = "Evidence Storage" @@ -41341,7 +41329,7 @@ /obj/structure/cable, /obj/structure/cable/layer1, /turf/open/floor/plating/airless, -/area/station/solars/port) +/area/station/solars/port/asteriod) "nzO" = ( /mob/living/carbon/human/species/monkey, /turf/open/misc/dirt/jungle{ @@ -42046,7 +42034,7 @@ "nNw" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "nNz" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -42081,7 +42069,7 @@ /area/station/tcommsat/server) "nOd" = ( /turf/open/openspace, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "nOe" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 6 @@ -43266,7 +43254,7 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "ojQ" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -44030,7 +44018,7 @@ /obj/structure/cable, /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "oAn" = ( /obj/machinery/airlock_sensor/incinerator_ordmix{ pixel_x = 23; @@ -45349,7 +45337,7 @@ /obj/structure/cable, /obj/machinery/light/small/directional/west, /turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) +/area/station/solars/starboard/fore/asteriod) "pdf" = ( /obj/machinery/camera/directional/north{ network = list("ss13","engineering","Security"); @@ -45775,7 +45763,7 @@ /area/station/cargo/miningdock) "plk" = ( /turf/closed/wall/r_wall, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "pln" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -46054,7 +46042,7 @@ /obj/structure/cable, /obj/machinery/light/floor, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "ppU" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/tram/filled/line{ @@ -47368,7 +47356,7 @@ /obj/structure/cable/layer1, /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "pKZ" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, @@ -48162,7 +48150,7 @@ }, /obj/structure/railing, /turf/open/openspace, -/area/station/solars/port) +/area/station/maintenance/solars/port) "pZH" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -49051,6 +49039,9 @@ /obj/machinery/microwave, /turf/open/floor/iron/white, /area/station/commons/vacant_room) +"qoG" = ( +/turf/closed/wall, +/area/station/solars/port/asteriod) "qoX" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 @@ -49854,15 +49845,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/miningdock) -"qCU" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/power/solar{ - name = "Starboard Solar Array"; - id = "forestarboard" - }, -/obj/structure/cable, -/turf/open/space/basic, -/area/space/nearstation) "qCW" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -51055,7 +51037,7 @@ dir = 8 }, /turf/open/openspace, -/area/station/solars/port) +/area/station/maintenance/solars/port) "qZx" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/decal/cleanable/dirt, @@ -54170,7 +54152,7 @@ }, /obj/structure/railing, /turf/open/openspace, -/area/station/solars/port) +/area/station/maintenance/solars/port) "sgB" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/structure/cable, @@ -54834,7 +54816,7 @@ /area/station/engineering/supermatter/room) "srF" = ( /turf/open/openspace, -/area/station/solars/port) +/area/station/maintenance/solars/port) "srN" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/structure/cable, @@ -55585,7 +55567,7 @@ "sEZ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "sFc" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -55657,7 +55639,7 @@ /obj/structure/cable, /obj/machinery/light/floor, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "sGO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -61857,7 +61839,7 @@ /obj/structure/railing/corner, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "uIk" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -63603,7 +63585,7 @@ /obj/structure/cable/layer1, /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "vob" = ( /obj/structure/bookcase/random/religion, /turf/open/floor/iron/dark, @@ -64163,7 +64145,7 @@ /obj/structure/cable, /obj/machinery/light/floor, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "vwT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -64328,11 +64310,11 @@ }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "vAx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, -/area/station/solars/port) +/area/station/maintenance/solars/port) "vAF" = ( /obj/structure/chair, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -65378,7 +65360,7 @@ /obj/effect/decal/cleanable/dirt, /obj/machinery/light/dim/directional/north, /turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "vTj" = ( /obj/effect/turf_decal/trimline/neutral/warning, /obj/machinery/door/window/brigdoor/left/directional/north{ @@ -65691,7 +65673,7 @@ /obj/structure/railing, /obj/structure/cable, /turf/open/openspace, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "vZZ" = ( /obj/machinery/duct, /obj/structure/cable, @@ -69771,7 +69753,7 @@ "xCe" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, -/area/station/solars/port) +/area/station/maintenance/solars/port) "xCm" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue/anticorner/contrasted, @@ -69818,7 +69800,7 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, -/area/station/solars/starboard/fore) +/area/station/maintenance/solars/starboard/fore) "xDJ" = ( /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/freezer, @@ -70579,7 +70561,7 @@ dir = 8 }, /turf/open/openspace, -/area/station/solars/port) +/area/station/maintenance/solars/port) "xTM" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/nitrogen_output{ dir = 1 @@ -91049,7 +91031,7 @@ aac aac aac gGy -qEH +qoG aac aac aac @@ -93883,7 +93865,7 @@ aST ncE ncE ncE -bRE +jcT oQf oQf oQf @@ -95154,7 +95136,7 @@ aac aac aac aac -jcT +lMS lMS lMS aac @@ -107144,7 +107126,7 @@ aac aac aac aac -csA +eSh aac aac aac @@ -110744,7 +110726,7 @@ aac aac aac aac -csA +eSh nkU aac aac @@ -113046,7 +113028,7 @@ vXM pZH vXM vXM -qCU +bwp vXM vXM aev @@ -114344,7 +114326,7 @@ aac aac aac hlS -csA +eSh aac aac aac @@ -117944,7 +117926,7 @@ aac aac aac aac -csA +eSh aac aac aac @@ -159683,7 +159665,7 @@ opb oOJ oOJ stK -ixH +gnp sOg oOJ uXM diff --git a/code/__DEFINES/_flags.dm b/code/__DEFINES/_flags.dm index 9b3b239034b..4dff2007b39 100644 --- a/code/__DEFINES/_flags.dm +++ b/code/__DEFINES/_flags.dm @@ -142,6 +142,8 @@ GLOBAL_LIST_INIT(bitflags, list(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 204 #define NO_BOH (1<<18) /// This area prevents fishing from removing unique/limited loot from sources that're also used outside of it. #define UNLIMITED_FISHING (1<<19) +/// This area is prevented from having gravity (ie. space, nearstation, or outside solars) +#define NO_GRAVITY (1<<20) /* These defines are used specifically with the atom/pass_flags bitmask diff --git a/code/__DEFINES/gravity.dm b/code/__DEFINES/gravity.dm index da81c0465ca..83177b7ebb3 100644 --- a/code/__DEFINES/gravity.dm +++ b/code/__DEFINES/gravity.dm @@ -47,7 +47,8 @@ * This should only be possible on multi-z maps because it works like shit on maps that aren't. */ #define NEGATIVE_GRAVITY -1 - +/// Used to indicate no gravity +#define ZERO_GRAVITY 0 #define STANDARD_GRAVITY 1 //Anything above this is high gravity, anything below no grav until negative gravity /// The gravity strength threshold for high gravity damage. #define GRAVITY_DAMAGE_THRESHOLD 3 diff --git a/code/__HELPERS/areas.dm b/code/__HELPERS/areas.dm index 1d247c12e6e..8e818e0e7f4 100644 --- a/code/__HELPERS/areas.dm +++ b/code/__HELPERS/areas.dm @@ -136,7 +136,7 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(list( return newA = new area_choice newA.setup(str) - newA.has_gravity = oldA.has_gravity + newA.default_gravity = oldA.default_gravity require_area_resort() //new area registered. resort the names else newA = area_choice diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index b988fa0b6da..450a29d9cbd 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -80,8 +80,8 @@ var/power_light = TRUE var/power_environ = TRUE var/power_apc_charge = TRUE - - var/has_gravity = FALSE + /// The default gravity for the area + var/default_gravity = ZERO_GRAVITY var/parallax_movedir = 0 diff --git a/code/game/area/areas/away_content.dm b/code/game/area/areas/away_content.dm index 5ff0143c0a1..648ef4c8d31 100644 --- a/code/game/area/areas/away_content.dm +++ b/code/game/area/areas/away_content.dm @@ -8,7 +8,7 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30" name = "Strange Location" icon = 'icons/area/areas_away_missions.dmi' icon_state = "away" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY ambience_index = AMBIENCE_AWAY sound_environment = SOUND_ENVIRONMENT_ROOM area_flags = UNIQUE_AREA @@ -34,7 +34,7 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30" static_lighting = FALSE base_lighting_alpha = 255 area_flags = UNIQUE_AREA|NOTELEPORT - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY /area/awaymission/secret area_flags = UNIQUE_AREA|NOTELEPORT|HIDDEN_AREA @@ -46,7 +46,7 @@ Unused icons for new areas are "awaycontent1" ~ "awaycontent30" outdoors = TRUE /area/awaymission/secret/unpowered/no_grav - has_gravity = FALSE + default_gravity = ZERO_GRAVITY /area/awaymission/secret/fullbright static_lighting = FALSE diff --git a/code/game/area/areas/centcom.dm b/code/game/area/areas/centcom.dm index 28b3496c4e1..022e0d91c17 100644 --- a/code/game/area/areas/centcom.dm +++ b/code/game/area/areas/centcom.dm @@ -7,7 +7,7 @@ icon_state = "centcom" static_lighting = TRUE requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY area_flags = UNIQUE_AREA | NOTELEPORT flags_1 = NONE @@ -151,7 +151,7 @@ icon_state = "wizards_den" static_lighting = TRUE requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY area_flags = UNIQUE_AREA | NOTELEPORT flags_1 = NONE @@ -164,7 +164,7 @@ area_flags = UNIQUE_AREA | NOTELEPORT static_lighting = FALSE base_lighting_alpha = 255 - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY flags_1 = NONE //Syndicates @@ -172,7 +172,7 @@ name = "Syndicate Mothership" icon_state = "syndie-ship" requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY area_flags = UNIQUE_AREA | NOTELEPORT flags_1 = NONE ambience_index = AMBIENCE_DANGER @@ -217,7 +217,7 @@ base_lighting_alpha = 255 requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY flags_1 = NONE area_flags = BLOCK_SUICIDE | UNIQUE_AREA @@ -228,7 +228,7 @@ requires_power = FALSE static_lighting = FALSE base_lighting_alpha = 255 - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY flags_1 = NONE area_flags = UNIQUE_AREA | NOTELEPORT | NO_DEATH_MESSAGE | BLOCK_SUICIDE @@ -273,7 +273,7 @@ name = "\improper Asteroid" icon_state = "asteroid" requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY area_flags = UNIQUE_AREA ambience_index = AMBIENCE_MINING flags_1 = CAN_BE_DIRTY_1 diff --git a/code/game/area/areas/mining.dm b/code/game/area/areas/mining.dm index be6db4e077f..4254e23d62b 100644 --- a/code/game/area/areas/mining.dm +++ b/code/game/area/areas/mining.dm @@ -2,7 +2,7 @@ /area/mine icon = 'icons/area/areas_station.dmi' icon_state = "mining" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY area_flags = VALID_TERRITORY | UNIQUE_AREA | FLORA_ALLOWED | CULT_PERMITTED ambient_buzz = 'sound/ambience/lavaland/magma.ogg' @@ -130,7 +130,7 @@ /area/lavaland icon = 'icons/area/areas_station.dmi' icon_state = "mining" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY flags_1 = NONE area_flags = VALID_TERRITORY | UNIQUE_AREA | FLORA_ALLOWED sound_environment = SOUND_AREA_LAVALAND @@ -190,7 +190,7 @@ /area/icemoon icon = 'icons/area/areas_station.dmi' icon_state = "mining" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY flags_1 = NONE area_flags = UNIQUE_AREA | FLORA_ALLOWED ambience_index = AMBIENCE_ICEMOON diff --git a/code/game/area/areas/misc.dm b/code/game/area/areas/misc.dm index 8aa6adc738c..00ce0d6f464 100644 --- a/code/game/area/areas/misc.dm +++ b/code/game/area/areas/misc.dm @@ -5,13 +5,12 @@ requires_power = TRUE always_unpowered = TRUE static_lighting = FALSE - base_lighting_alpha = 255 base_lighting_color = COLOR_STARLIGHT power_light = FALSE power_equip = FALSE power_environ = FALSE - area_flags = UNIQUE_AREA + area_flags = UNIQUE_AREA|NO_GRAVITY outdoors = TRUE ambience_index = AMBIENCE_SPACE flags_1 = CAN_BE_DIRTY_1 @@ -22,7 +21,6 @@ /area/space/nearstation icon_state = "space_near" - area_flags = UNIQUE_AREA static_lighting = TRUE base_lighting_alpha = 0 base_lighting_color = null @@ -33,12 +31,12 @@ requires_power = FALSE static_lighting = FALSE base_lighting_alpha = 255 - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY ambient_buzz = null /area/misc/testroom requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY // Mobs should be able to see inside the testroom static_lighting = FALSE base_lighting_alpha = 255 diff --git a/code/game/area/areas/ruins/_ruins.dm b/code/game/area/areas/ruins/_ruins.dm index 69e17d365ca..46cf851b1eb 100644 --- a/code/game/area/areas/ruins/_ruins.dm +++ b/code/game/area/areas/ruins/_ruins.dm @@ -4,7 +4,7 @@ name = "\improper Unexplored Location" icon = 'icons/area/areas_ruins.dmi' icon_state = "ruins" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY area_flags = HIDDEN_AREA | BLOBS_ALLOWED | UNIQUE_AREA ambience_index = AMBIENCE_RUINS flags_1 = CAN_BE_DIRTY_1 @@ -14,7 +14,7 @@ always_unpowered = TRUE /area/ruin/unpowered/no_grav - has_gravity = FALSE + default_gravity = ZERO_GRAVITY /area/ruin/powered requires_power = FALSE diff --git a/code/game/area/areas/ruins/space.dm b/code/game/area/areas/ruins/space.dm index 2e25aeb2d6f..7484e208872 100644 --- a/code/game/area/areas/ruins/space.dm +++ b/code/game/area/areas/ruins/space.dm @@ -1,7 +1,7 @@ //Space Ruin Parents /area/ruin/space - has_gravity = FALSE + default_gravity = ZERO_GRAVITY area_flags = UNIQUE_AREA /area/ruin/space/unpowered @@ -11,7 +11,7 @@ power_environ = FALSE /area/ruin/space/has_grav - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY /area/ruin/space/has_grav/powered requires_power = FALSE @@ -529,18 +529,18 @@ /area/ruin/space/djstation name = "\improper Ruskie DJ Station" icon_state = "DJ" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY /area/ruin/space/djstation/solars name = "\improper DJ Station Solars" icon_state = "DJ" area_flags = UNIQUE_AREA - has_gravity = STANDARD_GRAVITY + default_gravity = ZERO_GRAVITY /area/ruin/space/djstation/service name = "\improper DJ Station Service" icon_state = "DJ" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY //ABANDONED TELEPORTER diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index f128805924f..490a4d60c2e 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -6,7 +6,7 @@ name = "Shuttle" requires_power = FALSE static_lighting = TRUE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY always_unpowered = FALSE // Loading the same shuttle map at a different time will produce distinct area instances. area_flags = NONE @@ -256,7 +256,7 @@ // ----------- Arena Shuttle /area/shuttle/shuttle_arena name = "arena" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY requires_power = FALSE /obj/effect/forcefield/arena_shuttle diff --git a/code/game/area/areas/station/science.dm b/code/game/area/areas/station/science.dm index 2787a4ff87f..40bdd378657 100644 --- a/code/game/area/areas/station/science.dm +++ b/code/game/area/areas/station/science.dm @@ -126,4 +126,7 @@ /area/station/science/ordnance/bomb name = "\improper Ordnance Bomb Site" icon_state = "ord_boom" - area_flags = BLOBS_ALLOWED | UNIQUE_AREA | CULT_PERMITTED + area_flags = BLOBS_ALLOWED | UNIQUE_AREA | CULT_PERMITTED | NO_GRAVITY + +/area/station/science/ordnance/bomb/planet + area_flags = /area/station/science/ordnance/bomb::area_flags & ~NO_GRAVITY diff --git a/code/game/area/areas/station/solars.dm b/code/game/area/areas/station/solars.dm index 57376e2fb17..8d3a81420e7 100644 --- a/code/game/area/areas/station/solars.dm +++ b/code/game/area/areas/station/solars.dm @@ -5,11 +5,12 @@ /area/station/solars icon_state = "panels" requires_power = FALSE - area_flags = UNIQUE_AREA + area_flags = UNIQUE_AREA|NO_GRAVITY flags_1 = NONE ambience_index = AMBIENCE_ENGI airlock_wires = /datum/wires/airlock/engineering sound_environment = SOUND_AREA_SPACE + default_gravity = ZERO_GRAVITY /area/station/solars/fore name = "\improper Fore Solar Array" @@ -40,10 +41,20 @@ name = "\improper Starboard Bow Solar Array" icon_state = "panelsFS" +/area/station/solars/starboard/fore/asteriod + name = "\improper Starboard Bow Asteriod Solar Array" + icon_state = "panelsFS" + area_flags = UNIQUE_AREA // solar areas directly on asteriod have gravity + /area/station/solars/port name = "\improper Port Solar Array" icon_state = "panelsP" +/area/station/solars/port/asteriod + name = "\improper Port Asteriod Solar Array" + icon_state = "panelsP" + area_flags = UNIQUE_AREA // solar areas directly on asteriod have gravity + /area/station/solars/port/aft name = "\improper Port Quarter Solar Array" icon_state = "panelsAP" diff --git a/code/game/atom/_atom.dm b/code/game/atom/_atom.dm index b6c5b3959ca..9afda5b0dde 100644 --- a/code/game/atom/_atom.dm +++ b/code/game/atom/_atom.dm @@ -763,6 +763,7 @@ * Gravity situations: * * No gravity if you're not in a turf * * No gravity if this atom is in is a space turf + * * No gravity if the area has NO_GRAVITY flag (space, ordnance bomb site, nearstation, solars) * * Gravity if the area it's in always has gravity * * Gravity if there's a gravity generator on the z level * * Gravity if the Z level has an SSMappingTrait for ZTRAIT_GRAVITY @@ -790,7 +791,7 @@ var/area/turf_area = gravity_turf.loc - return !gravity_turf.force_no_gravity && (SSmapping.gravity_by_z_level[gravity_turf.z] || turf_area.has_gravity) + return (!gravity_turf.force_no_gravity && !(turf_area.area_flags & NO_GRAVITY)) && (SSmapping.gravity_by_z_level[gravity_turf.z] || turf_area.default_gravity) /** * Used to set something as 'open' if it's being used as a supplypod diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm index 07b126fe74f..3dee1c0176f 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_map.dm @@ -84,7 +84,7 @@ GLOBAL_LIST_EMPTY(heretic_sacrifice_landmarks) /area/centcom/heretic_sacrifice name = "Mansus" icon_state = "heretic" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY ambience_index = AMBIENCE_SPOOKY sound_environment = SOUND_ENVIRONMENT_CAVE area_flags = UNIQUE_AREA | NOTELEPORT | HIDDEN_AREA | BLOCK_SUICIDE | NO_BOH diff --git a/code/modules/antagonists/voidwalker/voidwalker_kidnap.dm b/code/modules/antagonists/voidwalker/voidwalker_kidnap.dm index f0d4c4349ce..8a5b95c849f 100644 --- a/code/modules/antagonists/voidwalker/voidwalker_kidnap.dm +++ b/code/modules/antagonists/voidwalker/voidwalker_kidnap.dm @@ -18,7 +18,7 @@ GLOBAL_LIST_EMPTY(voidwalker_void) /area/centcom/voidwalker_void name = "Voidwalker void" icon_state = "voidwalker" - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY ambience_index = AMBIENCE_SPOOKY sound_environment = SOUND_ENVIRONMENT_CAVE area_flags = UNIQUE_AREA | NOTELEPORT | HIDDEN_AREA | BLOCK_SUICIDE diff --git a/code/modules/awaymissions/mission_code/Beach.dm b/code/modules/awaymissions/mission_code/Beach.dm index 7f0e27c090a..0755389c030 100644 --- a/code/modules/awaymissions/mission_code/Beach.dm +++ b/code/modules/awaymissions/mission_code/Beach.dm @@ -5,7 +5,7 @@ base_lighting_alpha = 255 base_lighting_color = "#FFFFCC" requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY ambientsounds = list('sound/ambience/beach/shore.ogg', 'sound/ambience/beach/seag1.ogg','sound/ambience/beach/seag2.ogg','sound/ambience/beach/seag3.ogg','sound/ambience/misc/ambiodd.ogg','sound/ambience/medical/ambinice.ogg') /obj/item/paper/fluff/old_pirate_note diff --git a/code/modules/basketball/basketball_map_loading.dm b/code/modules/basketball/basketball_map_loading.dm index 469167367c0..5ed18997dde 100644 --- a/code/modules/basketball/basketball_map_loading.dm +++ b/code/modules/basketball/basketball_map_loading.dm @@ -31,7 +31,7 @@ requires_power = FALSE static_lighting = FALSE base_lighting_alpha = 255 - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY flags_1 = NONE area_flags = UNIQUE_AREA | NOTELEPORT | NO_DEATH_MESSAGE | BLOCK_SUICIDE diff --git a/code/modules/bitrunning/areas.dm b/code/modules/bitrunning/areas.dm index 0656f9d65b3..f0ad122effc 100644 --- a/code/modules/bitrunning/areas.dm +++ b/code/modules/bitrunning/areas.dm @@ -15,7 +15,7 @@ icon_state = "bit_ruin" icon = 'icons/area/areas_station.dmi' area_flags = UNIQUE_AREA | NOTELEPORT | EVENT_PROTECTED | HIDDEN_AREA | UNLIMITED_FISHING - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY requires_power = FALSE /area/virtual_domain/fullbright diff --git a/code/modules/deathmatch/deathmatch_mapping.dm b/code/modules/deathmatch/deathmatch_mapping.dm index a0651f7da12..62058629cdb 100644 --- a/code/modules/deathmatch/deathmatch_mapping.dm +++ b/code/modules/deathmatch/deathmatch_mapping.dm @@ -1,7 +1,7 @@ /area/deathmatch name = "Deathmatch Arena" requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY area_flags = UNIQUE_AREA | NOTELEPORT | EVENT_PROTECTED | QUIET_LOGS | NO_DEATH_MESSAGE | BINARY_JAMMING /area/deathmatch/fullbright diff --git a/code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.dm b/code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.dm index f290c06d78f..ce57d47c6e9 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/anomalyresearch.dm @@ -68,7 +68,7 @@ icon_state = "anomaly_research" requires_power = FALSE area_flags = HIDDEN_AREA | UNIQUE_AREA - has_gravity = TRUE + default_gravity = ZERO_GRAVITY /obj/item/reagent_containers/cup/bottle/wittel name = "wittel bottle" diff --git a/code/modules/mapfluff/ruins/spaceruin_code/commsbuoy.dm b/code/modules/mapfluff/ruins/spaceruin_code/commsbuoy.dm index 895200d487a..9ddf111958c 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/commsbuoy.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/commsbuoy.dm @@ -38,7 +38,7 @@ /area/ruin/space/nt_commsbuoy name = "\improper Nanotrasen Comms Buoy" sound_environment = SOUND_AREA_SMALL_ENCLOSED - has_gravity = FALSE + default_gravity = ZERO_GRAVITY ambientsounds = list( 'sound/ambience/engineering/ambisin2.ogg', 'sound/ambience/misc/signal.ogg', diff --git a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm index 7e6a1bf6d63..807bd5e8166 100644 --- a/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm +++ b/code/modules/mapfluff/ruins/spaceruin_code/hilbertshotel.dm @@ -392,7 +392,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) icon = 'icons/area/areas_ruins.dmi' icon_state = "hilbertshotel" requires_power = FALSE - has_gravity = TRUE + default_gravity = STANDARD_GRAVITY area_flags = NOTELEPORT | HIDDEN_AREA static_lighting = TRUE ambientsounds = list('sound/ambience/ruin/servicebell.ogg') @@ -483,7 +483,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999)) icon_state = "hilbertshotel" requires_power = FALSE area_flags = HIDDEN_AREA | NOTELEPORT | UNIQUE_AREA - has_gravity = TRUE + default_gravity = STANDARD_GRAVITY /obj/item/abstracthotelstorage anchored = TRUE diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm index ce0c2d923a4..a770d7f4bbf 100644 --- a/code/modules/mining/equipment/survival_pod.dm +++ b/code/modules/mining/equipment/survival_pod.dm @@ -4,7 +4,7 @@ icon_state = "away" static_lighting = TRUE requires_power = FALSE - has_gravity = STANDARD_GRAVITY + default_gravity = STANDARD_GRAVITY area_flags = BLOBS_ALLOWED | UNIQUE_AREA flags_1 = CAN_BE_DIRTY_1 diff --git a/code/modules/mob/living/living_movement.dm b/code/modules/mob/living/living_movement.dm index 4522b6ca69a..561df7849de 100644 --- a/code/modules/mob/living/living_movement.dm +++ b/code/modules/mob/living/living_movement.dm @@ -23,7 +23,7 @@ var/area/old_area = old_turf.loc var/area/new_area = new_turf.loc // If the area gravity has changed, then it's possible that our state has changed, so update - if(old_area.has_gravity != new_area.has_gravity) + if(old_area.default_gravity != new_area.default_gravity) refresh_gravity() /mob/living/on_changed_z_level(turf/old_turf, turf/new_turf, same_z_layer, notify_contents)