diff --git a/_maps/map_files/LayeniaStation/LayeniaStation.dmm b/_maps/map_files/LayeniaStation/LayeniaStation.dmm index 048208603..98b26f477 100644 --- a/_maps/map_files/LayeniaStation/LayeniaStation.dmm +++ b/_maps/map_files/LayeniaStation/LayeniaStation.dmm @@ -2809,7 +2809,7 @@ /area/security/range) "ahY" = ( /obj/effect/landmark/carpspawn, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "ahZ" = ( /obj/structure/railing{ @@ -6734,7 +6734,7 @@ /area/crew_quarters/theatre) "aOX" = ( /obj/structure/ore_box, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "aPc" = ( /obj/effect/turf_decal/stripes/line{ @@ -8910,9 +8910,12 @@ /turf/open/floor/plating/asteroid/layenia, /area/layenia/cave) "biu" = ( -/obj/structure/flora/crystal/small/growth, -/turf/open/indestructible/layenia/sand{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/plasteel/dark{ + dir = 4; + icon_state = "darkfull_plate" }, /area/hallway/primary/aft/upper) "biA" = ( @@ -19034,7 +19037,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 6 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "cXg" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ @@ -19367,7 +19370,7 @@ /area/ai_monitored/turret_protected/ai) "daS" = ( /obj/effect/turf_decal/stripes/line, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "daT" = ( /obj/structure/chair/office/dark{ @@ -21098,6 +21101,9 @@ name = "scrubbers pipe" }, /obj/machinery/door/firedoor/heavy, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark{ icon_state = "darkfull_whole_alt" }, @@ -27505,7 +27511,7 @@ dir = 1; name = "visible" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "ewF" = ( /obj/machinery/space_heater, @@ -27527,7 +27533,7 @@ dir = 1; name = "visible" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "ewN" = ( /obj/effect/turf_decal/loading_area{ @@ -27916,7 +27922,7 @@ /area/quartermaster/miningdock) "eyS" = ( /obj/structure/fence, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "eyW" = ( /obj/effect/turf_decal/tile/neutral{ @@ -28725,7 +28731,7 @@ /obj/structure/fence/door{ dir = 4 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "eGn" = ( /obj/effect/turf_decal/loading_area{ @@ -29967,6 +29973,19 @@ "ePg" = ( /turf/closed/wall/r_wall, /area/maintenance/solars/port/fore) +"ePs" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "bridgespace"; + name = "bridge external shutters" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/primary/aft/upper) "ePt" = ( /obj/effect/turf_decal/loading_area{ color = "#55391A"; @@ -31522,7 +31541,7 @@ icon_state = "drain_corner"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "fbB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer3{ @@ -34344,7 +34363,7 @@ }, /area/engine/atmos) "fxA" = ( -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "fxC" = ( /obj/machinery/power/apc{ @@ -38259,7 +38278,11 @@ }, /area/crew_quarters/dorms/upper) "gdN" = ( -/turf/open/indestructible/layenia/sand{ +/obj/structure/flora/crystal/small/growth, +/obj/structure/sign/poster/random{ + pixel_x = 32 + }, +/turf/open/floor/plating/asteroid/layenia/sand{ initial_gas_mix = "o2=22;n2=82;TEMP=293.15" }, /area/hallway/primary/aft/upper) @@ -44641,7 +44664,7 @@ dir = 1 }, /obj/structure/flora/crystal/small/growth, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "hdo" = ( /obj/effect/turf_decal/tile/neutral{ @@ -45415,7 +45438,7 @@ /area/layenia) "hjz" = ( /obj/item/shovel, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "hjD" = ( /obj/effect/turf_decal/stripes/line{ @@ -45705,7 +45728,7 @@ /area/quartermaster/sorting) "hlA" = ( /obj/effect/decal/cleanable/vomit, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "hlB" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ @@ -46068,7 +46091,7 @@ /area/crew_quarters/heads/chief) "hny" = ( /obj/structure/bonfire, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "hnA" = ( /obj/structure/closet, @@ -46474,6 +46497,15 @@ }, /turf/open/floor/engine, /area/engine/engineering/reactor_core) +"hqM" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark{ + dir = 8; + icon_state = "darkfull_trim" + }, +/area/bridge) "hqO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -47918,6 +47950,12 @@ name = "parquet" }, /area/crew_quarters/bar/cafe) +"hBJ" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark, +/area/bridge) "hBM" = ( /obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer1{ name = "scrubbers pipe" @@ -51392,7 +51430,7 @@ dir = 8; pixel_x = -7 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "iah" = ( /obj/effect/turf_decal/tile/neutral{ @@ -63172,6 +63210,21 @@ }, /turf/open/floor/circuit/telecomms, /area/science/xenobiology) +"jNZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-2" + }, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "bridgespace"; + name = "bridge external shutters" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/plating, +/area/hallway/primary/aft/upper) "jOa" = ( /obj/structure/table, /obj/item/stock_parts/subspace/filter, @@ -63387,13 +63440,13 @@ /area/security/locker) "jPP" = ( /obj/structure/flora/crystal/small/pile, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "jPU" = ( /obj/effect/turf_decal/weather/grass/line{ dir = 10 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "jQa" = ( /obj/structure/lattice/catwalk, @@ -65589,7 +65642,7 @@ /area/security/locker) "khn" = ( /obj/structure/flora/crystal/small/growth, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "khp" = ( /obj/machinery/door/firedoor{ @@ -69638,7 +69691,7 @@ /area/hallway/primary/fore/upper) "kLI" = ( /obj/effect/turf_decal/stripes/corner, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "kLQ" = ( /obj/effect/turf_decal/tile/neutral{ @@ -70516,7 +70569,7 @@ icon_state = "drain_corner"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "kUe" = ( /obj/effect/decal/cleanable/oil{ @@ -71156,7 +71209,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 4 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "kZl" = ( /obj/machinery/light{ @@ -73915,7 +73968,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 1 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "lyu" = ( /obj/structure/closet/secure_closet/personal, @@ -74663,8 +74716,9 @@ /obj/structure/cable{ icon_state = "4-8" }, -/turf/open/floor/plasteel/dark/side{ - dir = 4 +/turf/open/floor/plasteel/dark{ + dir = 8; + icon_state = "darkfull_trim" }, /area/bridge) "lDk" = ( @@ -75494,7 +75548,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 5 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "lJV" = ( /obj/effect/turf_decal/stripes/line, @@ -76296,7 +76350,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 8 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "lRm" = ( /obj/effect/turf_decal/tile/neutral{ @@ -76515,7 +76569,7 @@ dir = 4 }, /obj/structure/flora/tree/jungle/small, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "lTe" = ( /obj/effect/turf_decal/loading_area{ @@ -78009,6 +78063,12 @@ icon_state = "darkfull_plate" }, /area/security/checkpoint/science) +"mfV" = ( +/turf/open/floor/plasteel/dark{ + dir = 4; + icon_state = "darkfull_trim" + }, +/area/hallway/primary/aft/upper) "mge" = ( /obj/structure/chair{ dir = 8 @@ -81029,7 +81089,7 @@ /area/hallway/primary/port/upper) "mBS" = ( /obj/effect/turf_decal/weather/grass/line, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "mBU" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -82416,7 +82476,7 @@ icon_state = "drain_corner"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "mNh" = ( /obj/structure/cable{ @@ -82500,6 +82560,9 @@ /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark, /area/bridge) "mNt" = ( @@ -82537,7 +82600,7 @@ /turf/open/floor/plasteel/white, /area/medical/psych/ward) "mNC" = ( -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "mNF" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ @@ -83399,6 +83462,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -92768,6 +92834,9 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer1{ name = "air scrubber" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark, /area/bridge) "omB" = ( @@ -93056,6 +93125,9 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer3{ name = "air vent" }, +/obj/structure/cable{ + icon_state = "4-8" + }, /turf/open/floor/plasteel/dark, /area/bridge) "ooF" = ( @@ -93545,7 +93617,7 @@ }, /area/construction/mining/aux_base) "orv" = ( -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "orw" = ( /obj/structure/table, @@ -95114,7 +95186,7 @@ icon_state = "drain_corner"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "oDa" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ @@ -101051,13 +101123,7 @@ }, /area/science/circuit) "ppi" = ( -/obj/structure/railing{ - dir = 1 - }, /obj/item/twohanded/required/kirbyplants/random, -/obj/structure/sign/poster/random{ - pixel_x = 32 - }, /turf/open/floor/plasteel/dark{ dir = 4; icon_state = "darkfull_plate" @@ -102201,7 +102267,7 @@ pixel_x = 7 }, /obj/structure/flora/crystal/small/pile, -/turf/open/indestructible/layenia/sand{ +/turf/open/floor/plating/asteroid/layenia/sand{ initial_gas_mix = "o2=22;n2=82;TEMP=293.15" }, /area/hallway/primary/aft/upper) @@ -108708,10 +108774,21 @@ /turf/open/floor/plasteel/white, /area/medical/virology) "qun" = ( -/obj/structure/sign/nanotrasen{ - pixel_y = 31 +/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ + dir = 8; + name = "air supply pipe" + }, +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer1{ + dir = 4; + name = "scrubbers pipe" + }, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark{ + dir = 4; + icon_state = "darkfull_trim" }, -/turf/open/floor/plasteel/dark/corner, /area/bridge) "quv" = ( /obj/structure/cable{ @@ -110873,7 +110950,7 @@ /area/hallway/primary/aft) "qKb" = ( /obj/effect/decal/cleanable/oil, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "qKd" = ( /obj/structure/chair/comfy/black{ @@ -114995,7 +115072,7 @@ dir = 8; name = "visible" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "rkc" = ( /obj/machinery/light{ @@ -117858,8 +117935,8 @@ pixel_y = -1 }, /obj/item/twohanded/required/kirbyplants/random, -/turf/open/floor/plasteel/dark/corner{ - dir = 4 +/turf/open/floor/plasteel/dark/side{ + dir = 1 }, /area/bridge) "rFz" = ( @@ -122108,6 +122185,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -123648,6 +123728,30 @@ icon_state = "floor_plate" }, /area/crew_quarters/dorms/upper) +"stF" = ( +/obj/machinery/door/airlock/command/glass{ + dir = 4; + name = "Ferry Docking Airlock"; + req_access_txt = "19" + }, +/obj/structure/cable{ + icon_state = "1-4" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/obj/machinery/door/poddoor/preopen{ + dir = 8; + id = "bridgespace"; + name = "bridge external shutters" + }, +/obj/machinery/door/firedoor{ + dir = 8 + }, +/turf/open/floor/plasteel/dark{ + icon_state = "darkfull_whole_alt" + }, +/area/hallway/primary/aft/upper) "stI" = ( /obj/structure/ladder, /turf/open/floor/plating, @@ -125799,7 +125903,7 @@ icon_state = "drain"; name = "drain" }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "sIe" = ( /obj/machinery/button/door{ @@ -126205,7 +126309,7 @@ /obj/structure/fence/corner{ dir = 6 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia) "sKU" = ( /obj/structure/railing{ @@ -129353,7 +129457,13 @@ dir = 1; name = "air supply pipe" }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plasteel/dark{ + dir = 4; + icon_state = "darkfull_trim" + }, /area/bridge) "tju" = ( /obj/structure/cable{ @@ -129950,7 +130060,7 @@ /area/crew_quarters/heads/cmo) "tmZ" = ( /obj/item/picket_sign, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "tnl" = ( /obj/effect/turf_decal/tile/blue{ @@ -136972,6 +137082,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark, /area/bridge) "ujn" = ( @@ -138162,7 +138275,7 @@ dir = 4; pixel_x = 7 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cave) "usj" = ( /obj/effect/decal/cleanable/cobweb{ @@ -141742,7 +141855,7 @@ /obj/effect/turf_decal/weather/grass/line{ dir = 9 }, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "uUm" = ( /obj/structure/chair/bench/metal/right{ @@ -146738,6 +146851,9 @@ /obj/machinery/camera/autoname{ dir = 8 }, +/obj/structure/cable{ + icon_state = "1-8" + }, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -157982,7 +158098,13 @@ dir = 4; name = "scrubbers pipe" }, -/turf/open/floor/plasteel/dark, +/obj/structure/cable{ + icon_state = "4-8" + }, +/turf/open/floor/plasteel/dark{ + dir = 8; + icon_state = "darkfull_trim" + }, /area/bridge) "xhO" = ( /obj/structure/trash_pile, @@ -160102,7 +160224,7 @@ /area/science/research) "xyC" = ( /obj/structure/flora/tree/jungle/small, -/turf/open/indestructible/layenia/sand, +/turf/open/floor/plating/asteroid/layenia/sand, /area/layenia/cloudlayer) "xyH" = ( /obj/machinery/light{ @@ -163318,6 +163440,9 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer3{ name = "air supply pipe" }, +/obj/structure/cable{ + icon_state = "1-2" + }, /turf/open/floor/plasteel/dark/side{ dir = 8 }, @@ -257175,7 +257300,7 @@ jcF kcC bHk kFC -bhk +kFC bhk qZk bca @@ -257947,8 +258072,8 @@ ydu dgu dgu dgu -dgu -dgu +ydu +ydu ydu ydu xFG @@ -258205,7 +258330,7 @@ fSd pxr gdN biu -fSd +mfV ppi wNm beE @@ -258461,9 +258586,9 @@ xep xep xep xep -xep -xep -xep +jNZ +stF +ePs xep bQr ojU @@ -258718,8 +258843,8 @@ uMt sVQ jUY dsv -qun -xYB +lzr +hqM rFs xep xIn @@ -258976,7 +259101,7 @@ xFo xFo vAh wPH -vor +hBJ sGW xep rLw @@ -259233,7 +259358,7 @@ wZA xFo vAh wPH -vor +hBJ sGW xep jPA @@ -259747,7 +259872,7 @@ wZA nRt rHk wPH -vor +hBJ iuc xep xQy @@ -260261,7 +260386,7 @@ wZA xFo vAh wPH -vor +hBJ dqp xep bfa @@ -260518,7 +260643,7 @@ xFo xFo vAh wPH -vor +hBJ dqp xep aXf @@ -260775,7 +260900,7 @@ vAh vAh dsv lzr -vor +hBJ ozL xep oFj @@ -261032,7 +261157,7 @@ xYB xOb xYB xfx -vor +hBJ oAY xep xQy @@ -262053,7 +262178,7 @@ pPj yfh eic ujI -xhM +fFc skM wKH wYk @@ -262824,7 +262949,7 @@ eic qhD eic lBm -fFc +qun kGO wKH uyq diff --git a/code/__HELPERS/unsorted_hyper.dm b/code/__HELPERS/unsorted_hyper.dm new file mode 100644 index 000000000..6fc5a8631 --- /dev/null +++ b/code/__HELPERS/unsorted_hyper.dm @@ -0,0 +1,74 @@ +// This list was originally created to narrow the list of safe areas for mobs to spawn in the station. If an area is considered too dangerous for something to spawn in, kindly add it to this list. +GLOBAL_LIST_INIT(basic_blacklisted_area_list, typecacheof(list( + /area/space, + /area/shuttle, + /area/mine, + /area/holodeck, + /area/ruin, + /area/hallway, + /area/hallway/primary, + /area/hallway/secondary, + /area/hallway/secondary/entry, + /area/engine/supermatter, + /area/engine/atmospherics_engine, + /area/engine/engineering/reactor_core, + /area/engine/engineering/reactor_control, + /area/ai_monitored/turret_protected, + /area/layenia/cloudlayer, + /area/asteroid/nearstation, + /area/science/server, + /area/science/explab, + /area/science/xenobiology, + /area/security/processing))) + +// Performance intensive check for picking an area with turfs that are considered the safest possible to spawn something in. +//Only use this for creatures, as it considers people around, temperature, area size and more. +/proc/get_safest_spawn_turfs(list/blacklisted_areas, spawncount) + var/list/area/stationAreas = list() + var/list/area/eligible_areas = list() + var/validFound = FALSE + var/list/turf/validTurfs = list() + var/area/pickedArea + if(!blacklisted_areas.len) + blacklisted_areas = GLOB.basic_blacklisted_area_list + for(var/area/A in world) // Get the areas in the Z level + if(A.z == SSmapping.station_start) + stationAreas += A + for(var/area/place in stationAreas) // first we check if it's a valid area + if(place.outdoors) + continue + if(place.areasize < spawncount * 2) + continue + if(is_type_in_typecache(place, blacklisted_areas)) + continue + eligible_areas += place + for(var/area/place in eligible_areas) // now we check if there are people in that area + var/numOfPeople + for(var/mob/living/carbon/H in place) + numOfPeople++ + break + if(numOfPeople > 0) + eligible_areas -= place // removes this area from the list of eligible areas, it has people in it + while(!validFound || !eligible_areas.len) + pickedArea = pick_n_take(eligible_areas) + var/list/turf/t = get_area_turfs(pickedArea, SSmapping.station_start) + for(var/turf/thisTurf in t) // now we check if it's a closed turf, cold turf or occupied turf and yeet it + if(isopenturf(thisTurf)) + var/turf/open/tempGet = thisTurf + if(tempGet.air.temperature <= T0C) + t -= thisTurf + continue + if(isclosedturf(thisTurf)) + t -= thisTurf + else + for(var/obj/O in thisTurf) + if(O.density && !(istype(O, /obj/structure/table))) + t -= thisTurf + break + if(t.len >= spawncount) //Is the number of available turfs equal or bigger than spawncount? + validFound = TRUE + validTurfs = t + return validTurfs + if(!validFound) + message_admins("A function attempted to get safe turfs, but we found none.") + return null diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 5ff989878..a352d85c3 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -44,7 +44,7 @@ SUBSYSTEM_DEF(ticker) var/start_at var/gametime_offset = 432000 //Deciseconds to add to world.time for station time. - var/station_time_rate_multiplier = 20 //factor of station time progressal vs real time. + var/station_time_rate_multiplier = 10 //factor of station time progressal vs real time. var/totalPlayers = 0 //used for pregame stats on statpanel var/totalPlayersReady = 0 //used for pregame stats on statpanel diff --git a/code/game/turfs/open.dm b/code/game/turfs/open.dm index 813074f4e..a197c1e4e 100644 --- a/code/game/turfs/open.dm +++ b/code/game/turfs/open.dm @@ -75,19 +75,6 @@ if(istype(AM)) playsound(src,sound,50,1) -/turf/open/indestructible/concrete - name = "concrete" - icon = 'icons/turf/floors.dmi' - icon_state = "concrete" - baseturfs = /turf/open/floor/plating/asteroid/layenia - initial_gas_mix = FROZEN_ATMOS - planetary_atmos = TRUE - -/turf/open/indestructible/concrete/smooth - icon_state = "concrete2" - initial_gas_mix = FROZEN_ATMOS - planetary_atmos = TRUE - /turf/open/indestructible/cobble/side icon_state = "cobble_side" @@ -106,28 +93,6 @@ heavyfootstep = FOOTSTEP_GENERIC_HEAVY tiled_dirt = FALSE -/turf/open/indestructible/layenia/crystal - name = "Lattice Crystal" - desc = "A glowing azure crystal, with strange properties to make things float." - icon = 'icons/turf/floors/crystal_floor.dmi' - icon_state = "mapping" - baseturfs = /turf/open/indestructible/layenia/crystal - slowdown = 1 - light_range = 4 - light_power = 0.5 - barefootstep = FOOTSTEP_HARD_BAREFOOT - clawfootstep = FOOTSTEP_HARD_CLAW - heavyfootstep = FOOTSTEP_GENERIC_HEAVY - light_color = LIGHT_COLOR_BLUE - initial_gas_mix = FROZEN_ATMOS - planetary_atmos = TRUE - smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE - canSmoothWith = list(/turf/open/indestructible/layenia/crystal) - -/turf/open/indestructible/layenia/crystal/garden - initial_gas_mix = OPENTURF_DEFAULT_ATMOS - planetary_atmos = TRUE - /turf/open/indestructible/necropolis name = "necropolis floor" desc = "It's regarding you suspiciously." diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm index ede13468f..1b199a291 100644 --- a/code/game/turfs/simulated/floor/plating/asteroid.dm +++ b/code/game/turfs/simulated/floor/plating/asteroid.dm @@ -365,43 +365,3 @@ /turf/open/floor/plating/asteroid/snow/atmosphere initial_gas_mix = FROZEN_ATMOS planetary_atmos = FALSE - -//Layenia stuff - -/turf/open/floor/plating/asteroid/layenia - gender = PLURAL //trans rights - name = "crimson Rock" - desc = "A cold rock, rusted scarlet in color." - icon = 'icons/turf/floors.dmi' - baseturfs = /turf/open/floor/plating/asteroid/layenia - icon_state = "layenia" - icon_plating = "layenia" - initial_gas_mix = FROZEN_ATMOS - slowdown = 1 - environment_type = "layenia" - flags_1 = NONE - heat_capacity = INFINITY //Makes it so no matter the heat, it will not burn out. - planetary_atmos = TRUE - burnt_states = null - bullet_sizzle = TRUE - bullet_bounce_sound = null - digResult = /obj/item/stack/ore/glass/basalt - floor_variance = 50 //This means 50% chance of variating from the default tile. - quantity_of_available_tiles = 5 - //light_range = 2 - //light_power = 0.15 - //light_color = LIGHT_COLOR_WHITE - -/turf/open/floor/plating/asteroid/layenia/Initialize() - . = ..() - //We no longer randomize the icon state here. That is done by the supercall in our parent, asteroid. - set_layenia_light(src) - -/turf/open/floor/plating/asteroid/layenia/garden - initial_gas_mix = OPENTURF_DEFAULT_ATMOS - planetary_atmos = TRUE - -/proc/set_layenia_light(turf/open/floor/B) - switch(B.icon_state) - if("layenia3", "layenia4") - B.set_light(2, 0.6, LIGHT_COLOR_BLUE) //more light diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 53f9874f4..08fdaf47d 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -539,15 +539,3 @@ baseturfs = /turf/open/floor/plating/asteroid/basalt/lava_land_surface initial_gas_mix = LAVALAND_DEFAULT_ATMOS defer_change = 1 - -/turf/closed/mineral/layenia - name = "Crimson rock" - icon = 'icons/turf/mining.dmi' - smooth_icon = 'icons/turf/layeniarocks.dmi' - icon_state = "layenia" - smooth = SMOOTH_MORE|SMOOTH_BORDER - canSmoothWith = null - baseturfs = /turf/open/floor/plating/asteroid/layenia - initial_gas_mix = FROZEN_ATMOS - environment_type = "layenia" - turf_type = /turf/open/floor/plating/asteroid/layenia diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index acdfc6052..0bb57e616 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -1040,3 +1040,32 @@ message_admins("[key_name_admin(usr)] told everybody to man up.") SSblackbox.record_feedback("tally", "admin_verb", 1, "Man Up Global") +/client/proc/cmd_admin_preload_resource(F as icon) + set category = "Special Verbs" + set name = "Preload Resource" + + if(!check_rights(R_ADMIN)) + return + + var/resource = fcopy_rsc(F) + for(var/thing in GLOB.clients) + var/client/C = thing + if (!C) + continue + C.Export("##action=load_rsc", resource) + message_admins("[key_name_admin(usr)] preloaded resouce [F].") + +/client/proc/cmd_admin_preload_sound(F as sound) + set category = "Special Verbs" + set name = "Preload Sound" + + if(!check_rights(R_ADMIN)) + return + + var/resource = fcopy_rsc(F) + for(var/thing in GLOB.clients) + var/client/C = thing + if (!C) + continue + C.Export("##action=load_rsc", resource) + message_admins("[key_name_admin(usr)] preloaded sound [F].") \ No newline at end of file diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 149e020e8..399823a2c 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -57,6 +57,8 @@ GLOBAL_LIST_INIT(admin_verbs_admin, world.AVerbsAdmin()) /client/proc/cmd_admin_local_narrate, /*sends text to all mobs within view of atom*/ /client/proc/cmd_admin_man_up, //CIT CHANGE - adds man up verb /client/proc/cmd_admin_man_up_global, //CIT CHANGE - ditto + /client/proc/cmd_admin_preload_resource, + /client/proc/cmd_admin_preload_sound, /client/proc/cmd_admin_create_centcom_report, /client/proc/cmd_change_command_name, /client/proc/cmd_admin_check_player_exp, /* shows players by playtime */ diff --git a/code/modules/jobs/job_types/job.dm b/code/modules/jobs/job_types/job.dm index 024fb1cc7..e3e2ca4f1 100644 --- a/code/modules/jobs/job_types/job.dm +++ b/code/modules/jobs/job_types/job.dm @@ -67,7 +67,7 @@ var/whitelist_type = "" //load characters loadout on spawn - var loadout = TRUE + var/loadout = TRUE //Only override this proc //H is usually a human unless an /equip override transformed it diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 0db3695fc..387a13048 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -212,7 +212,7 @@ var/nightshift_enabled = FALSE //Currently in night shift mode? var/nightshift_allowed = TRUE //Set to FALSE to never let this light get switched to night mode. - var/nightshift_brightness = 7 + var/nightshift_brightness = 8 var/nightshift_light_power = 0.45 var/nightshift_light_color = "#dafcff" diff --git a/hyperstation/code/game/turfs/open.dm b/hyperstation/code/game/turfs/open.dm index 3553557f7..2ff3a5d17 100644 --- a/hyperstation/code/game/turfs/open.dm +++ b/hyperstation/code/game/turfs/open.dm @@ -1,14 +1,83 @@ -/turf/open/indestructible/layenia/sand +/turf/open/indestructible/concrete + name = "concrete" + icon = 'icons/turf/floors.dmi' + icon_state = "concrete" + baseturfs = /turf/open/floor/plating/asteroid/layenia + initial_gas_mix = FROZEN_ATMOS + planetary_atmos = TRUE + +/turf/open/indestructible/concrete/smooth + icon_state = "concrete2" + initial_gas_mix = FROZEN_ATMOS + planetary_atmos = TRUE + +/turf/open/indestructible/layenia/crystal + name = "Lattice Crystal" + desc = "A glowing azure crystal, with strange properties to make things float." + icon = 'hyperstation/icons/turf/floors/layeniacrystal.dmi' + icon_state = "mapping" + baseturfs = /turf/open/indestructible/layenia/crystal + slowdown = 1 + light_range = 4 + light_power = 0.5 + barefootstep = FOOTSTEP_HARD_BAREFOOT + clawfootstep = FOOTSTEP_HARD_CLAW + heavyfootstep = FOOTSTEP_GENERIC_HEAVY + light_color = LIGHT_COLOR_BLUE + initial_gas_mix = FROZEN_ATMOS + planetary_atmos = TRUE + smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE + canSmoothWith = list(/turf/open/indestructible/layenia/crystal) + +/turf/open/indestructible/layenia/crystal/garden + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = TRUE + +/turf/open/floor/plating/asteroid/layenia + gender = PLURAL //trans rights + name = "crimson Rock" + desc = "A cold rock, rusted scarlet in color." + icon = 'hyperstation/icons/turf/floors/layenia.dmi' + baseturfs = /turf/open/floor/plating/asteroid/layenia + icon_state = "layenia" + icon_plating = "layenia" + initial_gas_mix = FROZEN_ATMOS + slowdown = 1 + environment_type = "layenia" + flags_1 = NONE + heat_capacity = INFINITY //Makes it so no matter the heat, it will not burn out. + planetary_atmos = TRUE + burnt_states = null + bullet_sizzle = TRUE + bullet_bounce_sound = null + digResult = /obj/item/stack/ore/glass/basalt + floor_variance = 50 //This means 50% chance of variating from the default tile. + quantity_of_available_tiles = 5 + //light_range = 2 + //light_power = 0.15 + //light_color = LIGHT_COLOR_WHITE + +/turf/open/floor/plating/asteroid/layenia/Initialize() + . = ..() + //We no longer randomize the icon state here. That is done by the supercall in our parent, asteroid. + set_layenia_light(src) + +/turf/open/floor/plating/asteroid/layenia/garden + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = TRUE + +/turf/open/floor/plating/asteroid/layenia/sand name = "\improper crimson sand" desc = "A reddish sand." icon = 'hyperstation/icons/turf/floors/layeniasand.dmi' icon_state = "mapping" - baseturfs = /turf/open/indestructible/layenia/crystal - slowdown = 1 + baseturfs = /turf/open/floor/plating/asteroid/layenia/sand barefootstep = FOOTSTEP_SAND clawfootstep = FOOTSTEP_SAND - heavyfootstep = FOOTSTEP_GENERIC_HEAVY - initial_gas_mix = FROZEN_ATMOS - planetary_atmos = TRUE smooth = SMOOTH_TRUE | SMOOTH_BORDER | SMOOTH_MORE - canSmoothWith = list(/turf/open/indestructible/layenia/sand) + canSmoothWith = list(/turf/open/floor/plating/asteroid/layenia/sand) + +/proc/set_layenia_light(turf/open/floor/B) + switch(B.icon_state) + if("layenia3", "layenia4") + B.set_light(2, 0.6, LIGHT_COLOR_BLUE) //more light diff --git a/hyperstation/code/game/turfs/simulated/minerals.dm b/hyperstation/code/game/turfs/simulated/minerals.dm new file mode 100644 index 000000000..52526e2ca --- /dev/null +++ b/hyperstation/code/game/turfs/simulated/minerals.dm @@ -0,0 +1,11 @@ +/turf/closed/mineral/layenia + name = "Crimson rock" + icon = 'hyperstation/icons/turf/floors/layeniamining.dmi' + smooth_icon = 'hyperstation/icons/turf/floors/layeniarocks.dmi' + icon_state = "layenia" + smooth = SMOOTH_MORE|SMOOTH_BORDER + canSmoothWith = null + baseturfs = /turf/open/floor/plating/asteroid/layenia + initial_gas_mix = FROZEN_ATMOS + environment_type = "layenia" + turf_type = /turf/open/floor/plating/asteroid/layenia diff --git a/hyperstation/code/mobs/mimic.dm b/hyperstation/code/mobs/mimic.dm index c89e973c4..73f29a2bc 100644 --- a/hyperstation/code/mobs/mimic.dm +++ b/hyperstation/code/mobs/mimic.dm @@ -322,26 +322,6 @@ /datum/round_event/mimic_infestation announceWhen = 200 - var/static/list/mimic_station_areas_blacklist = typecacheof(/area/space, - /area/shuttle, - /area/mine, - /area/holodeck, - /area/ruin, - /area/hallway, - /area/hallway/primary, - /area/hallway/secondary, - /area/hallway/secondary/entry, - /area/engine/supermatter, - /area/engine/atmospherics_engine, - /area/engine/engineering/reactor_core, - /area/engine/engineering/reactor_control, - /area/ai_monitored/turret_protected, - /area/layenia/cloudlayer, - /area/asteroid/nearstation, - /area/science/server, - /area/science/explab, - /area/science/xenobiology, - /area/security/processing) var/spawncount = 1 fakeable = FALSE @@ -353,54 +333,11 @@ priority_announce("Unidentified lifesigns detected aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert", 'sound/ai/aliens.ogg') /datum/round_event/mimic_infestation/start() - var/list/area/stationAreas = list() - var/list/area/eligible_areas = list() - for(var/area/A in world) // Get the areas in the Z level - if(A.z == SSmapping.station_start) - stationAreas += A - for(var/area/place in stationAreas) // first we check if it's a valid area - if(place.outdoors) - continue - if(place.areasize < 16) - continue - if(is_type_in_typecache(place, mimic_station_areas_blacklist)) - continue - eligible_areas += place - for(var/area/place in eligible_areas) // now we check if there are people in that area - var/numOfPeople - for(var/mob/living/carbon/H in place) - numOfPeople++ - break - if(numOfPeople > 0) - eligible_areas -= place - - var/validFound = FALSE - var/list/turf/validTurfs = list() - var/area/pickedArea - while(!validFound || !eligible_areas.len) - pickedArea = pick_n_take(eligible_areas) - var/list/turf/t = get_area_turfs(pickedArea, SSmapping.station_start) - for(var/turf/thisTurf in t) // now we check if it's a closed turf, cold turf or occupied turf and yeet it - if(isopenturf(thisTurf)) - var/turf/open/tempGet = thisTurf - if(tempGet.air.temperature <= T0C) - t -= thisTurf - continue - if(isclosedturf(thisTurf)) - t -= thisTurf - else - for(var/obj/O in thisTurf) - if(O.density && !(istype(O, /obj/structure/table))) - t -= thisTurf - break - if(t.len >= spawncount) //Is the number of available turfs equal or bigger than spawncount? - validFound = TRUE - validTurfs = t - - if(!eligible_areas.len) + var/list/turf/validTurfs = get_safest_spawn_turfs(GLOB.basic_blacklisted_area_list, spawncount) + if(!validTurfs.len) message_admins("No eligible areas for spawning mimics.") return WAITING_FOR_SOMETHING - + var/area/pickedArea = get_area(pick(validTurfs)) notify_ghosts("A group of mimics has spawned in [pickedArea]!", source=pickedArea, action=NOTIFY_ATTACK, flashwindow = FALSE) while(spawncount > 0 && validTurfs.len) spawncount-- diff --git a/hyperstation/icons/turf/floors/layenia.dmi b/hyperstation/icons/turf/floors/layenia.dmi new file mode 100644 index 000000000..7bcb612bf Binary files /dev/null and b/hyperstation/icons/turf/floors/layenia.dmi differ diff --git a/icons/turf/floors/crystal_floor.dmi b/hyperstation/icons/turf/floors/layeniacrystal.dmi similarity index 100% rename from icons/turf/floors/crystal_floor.dmi rename to hyperstation/icons/turf/floors/layeniacrystal.dmi diff --git a/hyperstation/icons/turf/floors/layeniamining.dmi b/hyperstation/icons/turf/floors/layeniamining.dmi new file mode 100644 index 000000000..62c9966d1 Binary files /dev/null and b/hyperstation/icons/turf/floors/layeniamining.dmi differ diff --git a/icons/turf/layeniarocks.dmi b/hyperstation/icons/turf/floors/layeniarocks.dmi similarity index 100% rename from icons/turf/layeniarocks.dmi rename to hyperstation/icons/turf/floors/layeniarocks.dmi diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index bb2885b20..427658202 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ diff --git a/icons/turf/mining.dmi b/icons/turf/mining.dmi index 9ad58c05d..656143822 100644 Binary files a/icons/turf/mining.dmi and b/icons/turf/mining.dmi differ diff --git a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm index 5002d4f52..5fb4d8e65 100644 --- a/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/modular_citadel/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -75,13 +75,13 @@ //christ this was a mistake, but it's here just in case someone wants to selectively fix /************* Lizard compatable snoots *********** /datum/sprite_accessory/snouts/bird - name = "Beak" + name = "Beak (Hyper)" icon_state = "bird" icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MATRIXED /datum/sprite_accessory/snouts/bigbeak - name = "Big Beak" + name = "Big Beak (Hyper)" icon_state = "bigbeak" icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MATRIXED @@ -163,6 +163,12 @@ icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MATRIXED +/datum/sprite_accessory/snouts/owlbird + name = "Owl (Hyper)" + icon_state = "owlbird" + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' + color_src = MATRIXED + /datum/sprite_accessory/snouts/otie name = "Otie" icon_state = "otie" @@ -187,8 +193,14 @@ color_src = MATRIXED icon = 'modular_citadel/icons/mob/mam_snouts.dmi' +/datum/sprite_accessory/snouts/sharpebird + name = "Sharpened, beak (Hyper)" + icon_state = "sharpebird" + icon = 'modular_citadel/icons/mob/mam_snouts.dmi' + color_src = MATRIXED + /datum/sprite_accessory/snouts/toucan - name = "Toucan" + name = "Toucan (Hyper)" icon_state = "toucan" icon = 'modular_citadel/icons/mob/mam_snouts.dmi' color_src = MATRIXED @@ -760,11 +772,11 @@ datum/sprite_accessory/ears/human/gret *******************************************/ /datum/sprite_accessory/mam_snouts/bird - name = "Beak" + name = "Beak (Hyper)" icon_state = "bird" /datum/sprite_accessory/mam_snouts/bigbeak - name = "Big Beak" + name = "Big Beak (Hyper)" icon_state = "bigbeak" /datum/sprite_accessory/mam_snouts/bug @@ -906,6 +918,10 @@ datum/sprite_accessory/ears/human/gret name = "Orca" icon_state = "orca" +/datum/sprite_accessory/mam_snouts/owlbird + name = "Owl (Hyper)" + icon_state = "owlbird" + /datum/sprite_accessory/mam_snouts/pede name = "Scolipede" icon_state = "pede" @@ -918,8 +934,12 @@ datum/sprite_accessory/ears/human/gret name = "Shark" icon_state = "shark" +/datum/sprite_accessory/mam_snouts/sharpebird + name = "Sharpened, beak (Hyper)" + icon_state = "sharpebird" + /datum/sprite_accessory/mam_snouts/toucan - name = "Toucan" + name = "Toucan (Hyper)" icon_state = "toucan" /datum/sprite_accessory/mam_snouts/sharp @@ -1058,11 +1078,11 @@ datum/sprite_accessory/ears/human/gret *************but higher up*****************/ /datum/sprite_accessory/mam_snouts/fbird - name = "Beak (Top)" + name = "Beak (Top) (Hyper)" icon_state = "fbird" /datum/sprite_accessory/mam_snouts/fbigbeak - name = "Big Beak (Top)" + name = "Big Beak (Top) (Hyper)" icon_state = "fbigbeak" /datum/sprite_accessory/mam_snouts/fbug @@ -1137,7 +1157,7 @@ datum/sprite_accessory/ears/human/gret icon_state = "fshark" /datum/sprite_accessory/mam_snouts/ftoucan - name = "Toucan (Top)" + name = "Toucan (Top) (Hyper)" icon_state = "ftoucan" /datum/sprite_accessory/mam_snouts/fsharp diff --git a/modular_citadel/icons/mob/mam_snouts.dmi b/modular_citadel/icons/mob/mam_snouts.dmi index 7ccd40676..90cf68888 100644 Binary files a/modular_citadel/icons/mob/mam_snouts.dmi and b/modular_citadel/icons/mob/mam_snouts.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 6236e1025..1fa541b8d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -159,6 +159,7 @@ #include "code\__HELPERS\typelists.dm" #include "code\__HELPERS\unique_ids.dm" #include "code\__HELPERS\unsorted.dm" +#include "code\__HELPERS\unsorted_hyper.dm" #include "code\__HELPERS\verbs.dm" #include "code\__HELPERS\view.dm" #include "code\__HELPERS\sorts\__main.dm" @@ -3135,6 +3136,7 @@ #include "hyperstation\code\game\objects\structures\sauna_oven.dm" #include "hyperstation\code\game\objects\structures\tables_racks.dm" #include "hyperstation\code\game\turfs\open.dm" +#include "hyperstation\code\game\turfs\simulated\minerals.dm" #include "hyperstation\code\game\turfs\simulated\floor\fancy_floor.dm" #include "hyperstation\code\game\turfs\simulated\wall\mineral_walls.dm" #include "hyperstation\code\gamemode\traitor_lewd.dm"