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"