Merge branch 'master' into Safety-Tether
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1040,3 +1040,32 @@
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] told everybody to man up.</span>")
|
||||
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("<span class='adminnotice'>[key_name_admin(usr)] preloaded resouce [F].</span>")
|
||||
|
||||
/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("<span class='adminnotice'>[key_name_admin(usr)] preloaded sound [F].</span>")
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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--
|
||||
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
After Width: | Height: | Size: 698 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 343 KiB After Width: | Height: | Size: 333 KiB |
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 39 KiB |
@@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
@@ -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"
|
||||
|
||||