diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_excavation.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_excavation.dmm
index 6d31dd756478..83aa2d85df09 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_excavation.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_excavation.dmm
@@ -791,7 +791,7 @@
/area/ruin/unpowered/althland_excavation)
"oh" = (
/turf/simulated/mineral/volcanic/lava_land_surface,
-/area/lavaland/surface/outdoors)
+/area/lavaland/surface/outdoors/unexplored)
"or" = (
/obj/structure/railing/corner{
dir = 8
@@ -865,6 +865,9 @@
/obj/effect/spawner/random_spawners/wall_rusted_maybe,
/turf/simulated/wall/r_wall,
/area/ruin/unpowered/althland_excavation)
+"sj" = (
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/unexplored)
"sA" = (
/obj/structure/railing,
/obj/effect/decal/cleanable/dirt,
@@ -1035,6 +1038,10 @@
nitrogen = 0
},
/area/ruin/unpowered/althland_excavation)
+"Ay" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/chasm/straight_down/lava_land_surface,
+/area/lavaland/surface/outdoors/unexplored)
"AD" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -1208,6 +1215,10 @@
nitrogen = 0
},
/area/ruin/unpowered/althland_excavation)
+"Jn" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/unexplored)
"Jp" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/manifold/hidden,
@@ -1262,8 +1273,10 @@
},
/area/lavaland/surface/outdoors)
"Mm" = (
+/obj/structure/girder/reinforced,
+/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
+/area/lavaland/surface/outdoors/unexplored)
"MT" = (
/obj/structure/grille/broken,
/obj/effect/decal/cleanable/glass,
@@ -1566,23 +1579,23 @@ oh
oh
oh
oh
-Mm
-Mm
-Mm
-Mm
-Ei
-Ei
-Ei
-Ei
-Ei
-Ei
-Ei
-Ei
-Ei
-Ei
-Ei
-Mm
-Mm
+sj
+sj
+sj
+sj
+sj
+Jn
+Jn
+Jn
+Jn
+Jn
+Jn
+Jn
+Jn
+Jn
+Jn
+sj
+sj
oh
oh
oh
@@ -1593,13 +1606,13 @@ oh
oh
oh
oh
-Mm
-Mm
-Mm
-Mm
-Mm
-Mm
-Mm
+sj
+sj
+sj
+sj
+sj
+sj
+sj
TN
TN
TN
@@ -1609,13 +1622,13 @@ Du
TN
TN
TN
-Ei
-Ei
-Ei
-Ei
-Ei
-Ei
-Ei
+Jn
+Jn
+Jn
+Jn
+Jn
+Jn
+Jn
oh
oh
oh
@@ -1623,10 +1636,10 @@ oh
(3,1,1) = {"
oh
oh
-Mm
-Mm
-Mm
-Mm
+sj
+sj
+sj
+sj
TN
TN
TN
@@ -1645,18 +1658,18 @@ TN
TN
TN
TN
-Ei
-Ei
-Ei
-Ei
+Jn
+Jn
+Jn
+Jn
oh
oh
"}
(4,1,1) = {"
oh
-Mm
-Mm
-Mm
+sj
+sj
+sj
TN
TN
TN
@@ -1679,15 +1692,15 @@ Cs
TN
TN
TN
-Ei
-Ei
-Mm
-Mm
+Jn
+Jn
+sj
+sj
"}
(5,1,1) = {"
oh
-Mm
-Mm
+sj
+sj
TN
TN
aU
@@ -1712,13 +1725,13 @@ je
Ei
TN
TN
-Ei
-Ei
-Mm
+Jn
+sj
+sj
"}
(6,1,1) = {"
-Mm
-Mm
+sj
+sj
TN
TN
Ri
@@ -1744,13 +1757,13 @@ TN
Ei
Ei
bm
-bm
-Ei
-Ei
+Mm
+sj
+sj
"}
(7,1,1) = {"
-Mm
-Mm
+sj
+sj
TN
PL
BZ
@@ -1776,12 +1789,12 @@ TN
Ei
Ei
Ei
-bm
-Ei
-Ei
+Mm
+sj
+sj
"}
(8,1,1) = {"
-Mm
+sj
TN
TN
pE
@@ -1808,12 +1821,12 @@ Ei
Ei
Ei
bm
-Ei
-Ei
-Ei
+Jn
+sj
+sj
"}
(9,1,1) = {"
-Mm
+sj
TN
TN
bC
@@ -1840,12 +1853,12 @@ Ei
zp
XS
BW
-aB
-Ei
-Ei
+Ay
+sj
+sj
"}
(10,1,1) = {"
-Mm
+sj
TN
TN
TN
@@ -1872,12 +1885,12 @@ aC
sA
aB
aB
-Ei
-bm
-Ei
+Jn
+Mm
+Jn
"}
(11,1,1) = {"
-Mm
+sj
TN
ct
Pe
@@ -1904,12 +1917,12 @@ GE
aB
aB
Ei
-Ei
-bm
-Ei
+Jn
+Mm
+Jn
"}
(12,1,1) = {"
-Mm
+sj
TN
pC
yb
@@ -1938,10 +1951,10 @@ aB
Ei
Ei
TN
-Ei
+Jn
"}
(13,1,1) = {"
-Ei
+Jn
TN
TN
TN
@@ -1970,10 +1983,10 @@ Ei
Ei
Ei
TN
-Mm
+sj
"}
(14,1,1) = {"
-Ei
+Jn
TN
aU
PL
@@ -2002,10 +2015,10 @@ XS
Ei
Ei
TN
-Mm
+sj
"}
(15,1,1) = {"
-Ei
+Jn
TN
Yz
yb
@@ -2034,10 +2047,10 @@ Ei
Ei
Ei
TN
-Mm
+sj
"}
(16,1,1) = {"
-Ei
+Jn
TN
TN
TN
@@ -2066,10 +2079,10 @@ Ei
BW
aB
TN
-Mm
+sj
"}
(17,1,1) = {"
-Ei
+Jn
TN
Ei
Ei
@@ -2098,10 +2111,10 @@ mK
uG
BW
TN
-Mm
+sj
"}
(18,1,1) = {"
-Ei
+Jn
bm
Ei
BW
@@ -2130,10 +2143,10 @@ BW
LK
PM
TN
-Mm
+sj
"}
(19,1,1) = {"
-Ei
+Jn
bm
Ei
BW
@@ -2162,10 +2175,10 @@ aB
BW
KU
TN
-Mm
+sj
"}
(20,1,1) = {"
-Ei
+Jn
TN
Ei
bm
@@ -2194,10 +2207,10 @@ aB
aB
uG
TN
-Mm
+sj
"}
(21,1,1) = {"
-Ei
+Jn
TN
TN
TN
@@ -2226,10 +2239,10 @@ aB
aB
aB
TN
-Mm
+sj
"}
(22,1,1) = {"
-Ei
+Jn
TN
ao
ar
@@ -2258,10 +2271,10 @@ BW
TJ
BW
TN
-Mm
+sj
"}
(23,1,1) = {"
-Ei
+Jn
TN
at
bl
@@ -2290,10 +2303,10 @@ mh
mK
uG
TN
-Mm
+sj
"}
(24,1,1) = {"
-Ei
+Jn
TN
aG
aU
@@ -2322,10 +2335,10 @@ mh
mh
Gc
TN
-Mm
+sj
"}
(25,1,1) = {"
-Mm
+sj
TN
TN
bU
@@ -2354,11 +2367,11 @@ gg
bN
TN
TN
-Mm
+sj
"}
(26,1,1) = {"
-Mm
-Mm
+sj
+sj
TN
az
DS
@@ -2385,12 +2398,12 @@ jL
Nv
jS
TN
-Mm
-Mm
+sj
+sj
"}
(27,1,1) = {"
oh
-Mm
+sj
TN
TN
ap
@@ -2417,13 +2430,13 @@ bL
YE
TN
TN
-Mm
-Mm
+sj
+sj
"}
(28,1,1) = {"
oh
-Mm
-Mm
+sj
+sj
TN
TN
iA
@@ -2448,15 +2461,15 @@ kh
aE
TN
TN
-Mm
-Mm
+sj
+sj
oh
"}
(29,1,1) = {"
oh
-Mm
-Mm
-Mm
+sj
+sj
+sj
TN
TN
TN
@@ -2479,18 +2492,18 @@ TN
TN
TN
TN
-Mm
-Mm
+sj
+sj
oh
oh
"}
(30,1,1) = {"
oh
oh
-Mm
-Mm
-Mm
-Mm
+sj
+sj
+sj
+sj
TN
TN
TN
@@ -2509,9 +2522,9 @@ TN
TN
TN
TN
-Mm
-Mm
-Mm
+sj
+sj
+sj
oh
oh
oh
@@ -2520,14 +2533,14 @@ oh
oh
oh
oh
-Mm
-Mm
-Mm
-Mm
-Mm
-Mm
-Mm
-Mm
+sj
+sj
+sj
+sj
+sj
+sj
+sj
+sj
TN
TN
TN
@@ -2537,11 +2550,11 @@ TN
TN
TN
TN
-Mm
-Mm
-Mm
-Mm
-Mm
+sj
+sj
+sj
+sj
+sj
oh
oh
oh
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_facility.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_facility.dmm
index ac236007ff53..bc2ac1d5611a 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_facility.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_althland_facility.dmm
@@ -115,6 +115,10 @@
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/althland_processing)
+"cM" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/template_noop,
+/area/lavaland/surface/outdoors/unexplored)
"dh" = (
/obj/effect/mapping_helpers/no_lava,
/obj/structure/disposalpipe/segment/corner{
@@ -646,6 +650,9 @@
/obj/machinery/economy/vending/chinese,
/turf/simulated/floor/plating/lavaland_air,
/area/ruin/unpowered/althland_processing)
+"yh" = (
+/turf/template_noop,
+/area/lavaland/surface/outdoors/unexplored)
"zd" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
@@ -1443,26 +1450,26 @@ bV
bV
bV
bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bV
-bL
-bL
-bL
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
bL
bL
bL
@@ -1479,19 +1486,19 @@ bV
bV
ab
ab
-bV
-bV
-bV
-bV
-ab
-bV
-bV
-bV
-bV
-bV
-ab
-ab
+yh
+yh
+yh
+yh
ab
+yh
+yh
+yh
+yh
+yh
+yh
+yh
+yh
ab
GF
ab
@@ -1524,7 +1531,7 @@ ab
ab
bT
ab
-ab
+cb
ab
ab
ab
@@ -2712,9 +2719,9 @@ ab
ab
ab
ab
-ab
-ab
-ab
+cM
+cM
+cM
ab
ab
bL
@@ -2748,9 +2755,9 @@ bV
bV
bV
bV
-ab
-ab
-ab
+cM
+cM
+cM
bV
bV
bV
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm
index 66be1d8d19b3..bff842e79ef3 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk1.dmm
@@ -2,9 +2,6 @@
"a" = (
/turf/template_noop,
/area/template_noop)
-"b" = (
-/turf/simulated/mineral/random/volcanic,
-/area/lavaland/surface/outdoors)
"c" = (
/obj/effect/mapping_helpers/no_lava,
/obj/effect/mapping_helpers/no_lava,
@@ -170,7 +167,7 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"I" = (
+"J" = (
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
@@ -179,118 +176,64 @@
a
a
a
-b
-a
-b
-a
-b
-b
-b
-b
-a
-b
-a
+J
+d
+J
+J
+J
+J
+J
a
a
"}
(2,1,1) = {"
a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
-a
-"}
-(3,1,1) = {"
-a
-b
-b
-b
-b
-I
-d
-I
-I
-I
-I
-I
-b
-b
-b
-b
-"}
-(4,1,1) = {"
-b
-b
-b
-I
-I
-I
+J
+J
+J
k
o
-I
-I
+J
+J
c
-I
-I
-b
-b
+J
+J
a
"}
-(5,1,1) = {"
-a
-b
-I
-I
+(3,1,1) = {"
+J
+J
d
g
-I
+J
p
-I
+J
v
-I
-I
-I
-I
-b
-b
+J
+J
+J
+J
"}
-(6,1,1) = {"
-b
-b
-I
-I
-I
+(4,1,1) = {"
+J
+J
+J
h
l
e
s
j
-I
+J
d
e
-I
-b
-b
+J
"}
-(7,1,1) = {"
-a
-b
-I
-I
-I
-I
-I
+(5,1,1) = {"
+J
+J
+J
+J
+J
q
t
w
@@ -298,114 +241,60 @@ x
y
p
e
-b
-b
"}
-(8,1,1) = {"
-b
-b
-I
-I
+(6,1,1) = {"
+J
+J
e
i
m
j
u
e
-I
+J
f
d
y
-b
-b
"}
-(9,1,1) = {"
-b
-b
-I
-I
+(7,1,1) = {"
+J
+J
f
j
-I
+J
r
-I
+J
o
-I
-I
-I
-I
-b
-b
+J
+J
+J
+J
"}
-(10,1,1) = {"
+(8,1,1) = {"
a
-b
-b
-I
-I
-I
+J
+J
+J
k
o
-I
-I
-I
-I
-I
-b
-b
-a
-"}
-(11,1,1) = {"
-b
-b
-b
-b
-b
-I
-n
-I
-I
-I
-I
-I
-b
-b
-b
-b
-"}
-(12,1,1) = {"
-a
-a
-a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-a
+J
+J
+J
+J
+J
a
"}
-(13,1,1) = {"
-a
-a
-b
-a
-a
-a
-b
-b
-b
+(9,1,1) = {"
a
-b
a
a
-b
+J
+n
+J
+J
+J
+J
+J
a
a
"}
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk2.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk2.dmm
index 4007379ec985..737bfdac6cca 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk2.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk2.dmm
@@ -1,9 +1,11 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
"a" = (
+/obj/effect/mapping_helpers/no_lava,
/turf/template_noop,
/area/template_noop)
"b" = (
-/turf/simulated/mineral/random/volcanic,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"c" = (
/obj/structure/stone_tile/surrounding_tile{
@@ -26,9 +28,6 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"f" = (
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"h" = (
/obj/structure/stone_tile/block/cracked{
dir = 8
@@ -181,247 +180,136 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"Q" = (
+"M" = (
/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
+/obj/effect/mapping_helpers/no_lava,
+/turf/template_noop,
+/area/template_noop)
(1,1,1) = {"
-a
b
-a
b
b
b
b
-a
-a
b
b
b
b
-a
b
a
a
+a
"}
(2,1,1) = {"
b
+c
+h
+k
b
b
b
-b
-f
-b
-b
-b
-b
-b
+k
b
b
b
b
a
-a
"}
(3,1,1) = {"
-a
b
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
+d
+c
+l
b
-f
b
b
-a
-"}
-(4,1,1) = {"
-b
-b
-Q
-c
-h
-k
-Q
-Q
-Q
-k
-Q
-Q
-Q
-Q
-b
+v
b
b
-"}
-(5,1,1) = {"
b
b
-Q
-d
-c
-l
-Q
-Q
-Q
-v
-Q
-Q
-Q
-Q
-Q
b
-a
"}
-(6,1,1) = {"
-a
+(4,1,1) = {"
b
-Q
e
i
m
k
-Q
+b
t
w
-Q
-Q
-Q
-Q
-Q
+b
+b
+b
b
b
"}
-(7,1,1) = {"
+(5,1,1) = {"
a
b
b
-Q
-Q
G
o
r
q
w
-Q
-Q
-Q
-Q
-Q
+b
+b
+b
b
b
"}
-(8,1,1) = {"
+(6,1,1) = {"
+M
b
b
b
-Q
-Q
-Q
p
B
s
-Q
-Q
+b
+b
q
n
A
-Q
-b
b
"}
-(9,1,1) = {"
-a
+(7,1,1) = {"
+b
+b
b
-Q
-Q
-Q
c
q
s
q
k
x
-Q
+b
z
d
-Q
-b
b
"}
-(10,1,1) = {"
-b
+(8,1,1) = {"
b
-Q
G
j
n
j
-Q
+b
e
n
y
-Q
+b
n
y
-Q
b
-a
"}
-(11,1,1) = {"
-b
-b
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-b
-b
-a
-"}
-(12,1,1) = {"
-a
-b
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-Q
-f
-b
-b
-b
-b
-"}
-(13,1,1) = {"
-b
-b
+(9,1,1) = {"
b
b
b
-f
-f
b
b
b
@@ -433,9 +321,7 @@ b
b
a
"}
-(14,1,1) = {"
-a
-a
+(10,1,1) = {"
b
b
b
@@ -443,12 +329,10 @@ b
b
b
b
-a
b
b
-a
-a
b
a
a
+a
"}
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk3.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk3.dmm
index 808acab4c180..fb1004fa52d5 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk3.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_blooddrunk3.dmm
@@ -171,7 +171,7 @@
/obj/structure/stone_tile/center,
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
+/area/lavaland/surface/outdoors/unexplored)
"w" = (
/obj/structure/stone_tile/block{
dir = 8
@@ -187,25 +187,32 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
+"H" = (
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/unexplored)
+"L" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/unexplored)
"U" = (
/turf/simulated/mineral/random/volcanic,
-/area/template_noop)
+/area/lavaland/surface/outdoors/unexplored)
(1,1,1) = {"
a
a
a
a
-b
+U
a
a
a
-b
+U
a
-b
+U
a
-b
-b
+U
+U
a
a
a
@@ -215,22 +222,22 @@ a
"}
(2,1,1) = {"
a
-b
-b
-b
-b
-b
+U
+U
+U
+U
+U
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+U
+U
+U
+U
+U
+U
+U
+U
+U
+U
a
a
a
@@ -238,29 +245,29 @@ a
(3,1,1) = {"
a
a
-b
-b
-b
-b
-b
+U
+U
+U
+U
+U
a
-b
-b
+U
+U
E
E
E
-b
-b
-b
-b
-b
+U
+U
+U
+U
+U
a
a
"}
(4,1,1) = {"
a
a
-b
+U
E
E
E
@@ -275,14 +282,14 @@ E
E
E
E
-b
+U
a
a
"}
(5,1,1) = {"
a
-b
-b
+U
+U
b
b
E
@@ -297,13 +304,13 @@ E
b
b
b
-b
-b
+U
+U
a
"}
(6,1,1) = {"
-b
-b
+U
+U
E
E
b
@@ -319,14 +326,14 @@ b
b
b
c
-b
-b
+U
+U
a
"}
(7,1,1) = {"
a
-b
-b
+U
+U
E
E
E
@@ -341,14 +348,14 @@ g
n
E
E
-b
-b
-b
+U
+U
+U
"}
(8,1,1) = {"
-b
-b
-b
+U
+U
+U
b
c
E
@@ -363,14 +370,14 @@ l
h
q
E
-E
-b
-b
+L
+U
+U
"}
(9,1,1) = {"
-b
-b
-b
+U
+U
+U
E
E
E
@@ -385,14 +392,14 @@ E
E
h
s
-E
-b
+L
+U
a
"}
(10,1,1) = {"
-b
-b
-c
+U
+U
+H
c
E
d
@@ -408,13 +415,13 @@ w
f
t
v
-b
-b
+U
+U
"}
(11,1,1) = {"
-b
-b
-b
+U
+U
+U
E
E
E
@@ -429,14 +436,14 @@ E
E
o
u
-E
-b
-b
+L
+U
+U
"}
(12,1,1) = {"
a
-b
-b
+U
+U
b
c
E
@@ -451,13 +458,13 @@ m
o
r
E
-E
-b
+L
+U
a
"}
(13,1,1) = {"
a
-b
+U
c
E
E
@@ -473,13 +480,13 @@ h
p
E
E
-c
-b
-b
+H
+U
+U
"}
(14,1,1) = {"
-b
-b
+U
+U
E
E
b
@@ -495,14 +502,14 @@ b
b
c
b
-b
-b
-b
+U
+U
+U
"}
(15,1,1) = {"
a
-b
-b
+U
+U
b
b
E
@@ -517,19 +524,19 @@ E
b
b
b
-b
-b
+U
+U
a
"}
(16,1,1) = {"
a
-b
-b
+U
+U
E
E
E
-b
-b
+U
+U
c
E
E
@@ -539,50 +546,50 @@ E
E
E
E
-b
+U
a
a
"}
(17,1,1) = {"
-b
-b
-b
-b
-b
-b
-b
-b
+U
+U
+U
+U
+U
+U
+U
+U
c
c
E
E
E
-b
-b
-b
-b
-b
+U
+U
+U
+U
+U
a
a
"}
(18,1,1) = {"
a
-b
+U
a
-b
-b
+U
+U
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
+U
+U
+U
+U
+U
+U
+U
+U
+U
a
-b
+U
a
a
a
@@ -591,15 +598,15 @@ a
a
a
a
-b
+U
a
a
a
-b
+U
a
U
-b
-b
+U
+U
a
a
a
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm
index 5f76d0072f16..9fd6556f7bf3 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_cultaltar.dmm
@@ -5,9 +5,6 @@
"b" = (
/turf/simulated/floor/engine/cult/lavaland_air,
/area/ruin/unpowered/misc_lavaruin)
-"c" = (
-/turf/simulated/floor/lava/mapping_lava,
-/area/ruin/unpowered/misc_lavaruin)
"d" = (
/turf/simulated/wall/cult,
/area/ruin/unpowered/misc_lavaruin)
@@ -77,6 +74,9 @@
"s" = (
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/misc_lavaruin)
+"B" = (
+/turf/simulated/floor/lava/mapping_lava,
+/area/ruin/unpowered/misc_lavaruin)
(1,1,1) = {"
a
@@ -86,7 +86,7 @@ a
a
a
b
-c
+B
b
a
a
@@ -99,15 +99,15 @@ a
a
d
e
-c
+B
s
-c
+B
b
b
b
-c
+B
s
-c
+B
s
d
a
@@ -118,11 +118,11 @@ e
f
s
d
-c
-c
+B
+B
g
-c
-c
+B
+B
d
e
f
@@ -131,43 +131,43 @@ a
"}
(4,1,1) = {"
a
-c
+B
s
-c
-c
-c
-c
-b
-c
-c
-c
-c
+B
+B
+B
+B
+b
+B
+B
+B
+B
e
-c
+B
a
"}
(5,1,1) = {"
a
s
d
-c
-c
+B
+B
b
b
b
b
b
-c
-c
+B
+B
d
s
a
"}
(6,1,1) = {"
a
-c
-c
-c
+B
+B
+B
b
b
l
@@ -175,16 +175,16 @@ d
k
b
b
-c
-c
-c
+B
+B
+B
a
"}
(7,1,1) = {"
b
b
-c
-c
+B
+B
g
i
b
@@ -192,13 +192,13 @@ b
b
l
b
-c
-c
+B
+B
b
b
"}
(8,1,1) = {"
-c
+B
b
g
b
@@ -212,13 +212,13 @@ b
b
g
b
-c
+B
"}
(9,1,1) = {"
b
b
-c
-c
+B
+B
b
k
b
@@ -226,16 +226,16 @@ b
b
m
b
-c
-c
+B
+B
b
b
"}
(10,1,1) = {"
a
-c
-c
-c
+B
+B
+B
g
b
m
@@ -243,43 +243,43 @@ h
q
b
b
-c
-c
-c
+B
+B
+B
a
"}
(11,1,1) = {"
a
s
d
-c
-c
+B
+B
b
b
b
b
b
-c
-c
+B
+B
d
s
a
"}
(12,1,1) = {"
a
-c
+B
s
-c
-c
-c
-c
-b
-c
-c
-c
-c
+B
+B
+B
+B
+b
+B
+B
+B
+B
e
-c
+B
a
"}
(13,1,1) = {"
@@ -288,11 +288,11 @@ e
f
s
d
-c
-c
+B
+B
g
-c
-c
+B
+B
d
e
f
@@ -303,15 +303,15 @@ a
a
d
e
-c
+B
s
-c
+B
b
b
b
-c
+B
s
-c
+B
s
d
a
@@ -324,7 +324,7 @@ a
a
a
b
-c
+B
b
a
a
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm
index d8aca887b621..286acbd11182 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_dead_ratvar.dmm
@@ -2,9 +2,6 @@
"a" = (
/turf/template_noop,
/area/template_noop)
-"b" = (
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors/unexplored)
"c" = (
/obj/item/clockwork/alloy_shards/small,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
@@ -18,7 +15,7 @@
/obj/effect/mapping_helpers/no_lava,
/obj/item/stack/tile/brass,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"f" = (
/turf/simulated/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
@@ -29,7 +26,7 @@
"h" = (
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"i" = (
/obj/structure/grille/ratvar/broken,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
@@ -42,7 +39,7 @@
/obj/effect/mapping_helpers/no_lava,
/obj/item/clockwork/alloy_shards/small,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"l" = (
/turf/simulated/floor/lava/mapping_lava,
/area/lavaland/surface/outdoors/unexplored)
@@ -63,7 +60,7 @@
/obj/effect/mapping_helpers/no_lava,
/obj/item/clockwork/alloy_shards/medium,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"r" = (
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
@@ -72,7 +69,7 @@
/obj/effect/mapping_helpers/no_lava,
/obj/item/clockwork/alloy_shards/large,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"t" = (
/obj/item/stack/tile/brass,
/obj/effect/mapping_helpers/no_lava,
@@ -82,43 +79,43 @@
/obj/effect/mapping_helpers/no_lava,
/obj/structure/grille/ratvar,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"w" = (
/obj/effect/mapping_helpers/no_lava,
/obj/structure/grille/ratvar/broken,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"x" = (
/obj/effect/mapping_helpers/no_lava,
/obj/structure/clockwork/wall_gear,
/obj/item/stack/tile/brass,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"y" = (
/obj/effect/mapping_helpers/no_lava,
/obj/item/clockwork/component/geis_capacitor/fallen_armor,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"z" = (
/obj/effect/mapping_helpers/no_lava,
/obj/structure/clockwork/wall_gear,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"A" = (
/obj/effect/mapping_helpers/no_lava,
/obj/item/clockwork/alloy_shards/clockgolem_remains,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"B" = (
/obj/effect/mapping_helpers/no_lava,
/obj/item/clockwork/weapon/ratvarian_spear,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"C" = (
/obj/effect/mapping_helpers/no_lava,
/obj/item/clockwork/alloy_shards/medium/gear_bit,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"D" = (
/obj/structure/grille/ratvar,
/obj/effect/mapping_helpers/no_lava,
@@ -133,12 +130,15 @@
/obj/effect/mapping_helpers/no_lava,
/obj/structure/dead_ratvar,
/turf/simulated/floor/clockwork/lavaland_air,
-/area/lavaland/surface/outdoors/unexplored)
+/area/lavaland/surface/outdoors)
"G" = (
/obj/item/stack/tile/brass/fifty,
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored)
+"X" = (
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/unexplored)
(1,1,1) = {"
a
@@ -154,10 +154,10 @@ a
a
a
a
-b
+X
s
h
-b
+X
a
a
a
@@ -175,16 +175,16 @@ a
a
a
o
-b
+X
a
h
-b
-b
+X
+X
c
j
x
-b
-b
+X
+X
g
a
a
@@ -200,19 +200,19 @@ a
a
a
f
-b
+X
l
-b
+X
m
-b
+X
p
w
j
j
c
l
-b
-b
+X
+X
a
a
a
@@ -228,19 +228,19 @@ a
f
l
l
-b
-b
-b
+X
+X
+X
l
j
j
j
p
l
-b
+X
h
c
-b
+X
a
a
"}
@@ -250,7 +250,7 @@ a
a
a
a
-b
+X
l
l
p
@@ -261,12 +261,12 @@ l
l
j
l
-b
+X
l
l
D
h
-b
+X
a
a
"}
@@ -299,15 +299,15 @@ a
(7,1,1) = {"
a
a
-b
-b
-b
+X
+X
+X
l
l
l
l
h
-b
+X
l
l
l
@@ -319,7 +319,7 @@ l
c
f
f
-b
+X
a
"}
(8,1,1) = {"
@@ -328,54 +328,54 @@ h
h
g
c
-b
+X
l
l
l
l
n
h
-b
+X
l
l
-b
+X
l
l
l
l
f
-b
+X
a
a
"}
(9,1,1) = {"
a
-b
+X
c
-b
-b
+X
+X
l
l
l
l
t
h
-b
+X
h
w
p
-b
+X
g
l
l
-b
-b
-b
-b
+X
+X
+X
+X
a
"}
(10,1,1) = {"
-b
+X
h
l
l
@@ -383,15 +383,15 @@ l
l
l
l
-b
-b
+X
+X
p
r
F
-b
+X
h
A
-b
+X
l
l
l
@@ -410,20 +410,20 @@ l
l
l
l
-b
+X
h
k
h
h
h
-b
+X
l
l
l
l
l
l
-b
+X
a
"}
(12,1,1) = {"
@@ -434,20 +434,20 @@ j
h
l
l
-b
+X
l
l
-b
+X
h
h
h
c
l
l
-b
+X
l
l
-b
+X
h
o
a
@@ -455,14 +455,14 @@ a
(13,1,1) = {"
e
k
-b
+X
l
l
l
-b
+X
p
s
-b
+X
h
h
h
@@ -474,19 +474,19 @@ l
l
l
l
-b
-b
+X
+X
a
"}
(14,1,1) = {"
-b
-b
-b
+X
+X
+X
m
l
l
l
-b
+X
h
h
k
@@ -496,18 +496,18 @@ h
h
h
c
-b
+X
l
l
-b
-b
+X
+X
h
-b
+X
"}
(15,1,1) = {"
-b
-b
-b
+X
+X
+X
l
l
l
@@ -526,8 +526,8 @@ l
l
l
l
-b
-b
+X
+X
a
"}
(16,1,1) = {"
@@ -539,7 +539,7 @@ l
l
l
l
-b
+X
h
h
h
@@ -547,7 +547,7 @@ h
h
h
s
-b
+X
l
l
l
@@ -557,66 +557,66 @@ f
a
"}
(17,1,1) = {"
-b
-b
-b
+X
+X
+X
l
l
l
-b
+X
l
l
-b
+X
h
h
h
h
h
-b
+X
s
-b
+X
l
-b
+X
l
l
-b
+X
a
"}
(18,1,1) = {"
-b
+X
h
l
l
l
-b
-b
+X
+X
h
-b
+X
h
h
h
h
h
-b
+X
k
-b
+X
C
-b
+X
h
-b
-b
+X
+X
m
-b
+X
"}
(19,1,1) = {"
-b
-b
+X
+X
l
l
l
l
h
-b
+X
h
h
h
@@ -624,24 +624,24 @@ h
h
h
h
-b
+X
j
h
c
h
-b
+X
h
-b
-b
+X
+X
"}
(20,1,1) = {"
-b
+X
l
l
l
l
-b
-b
+X
+X
p
h
c
@@ -650,27 +650,27 @@ k
h
h
o
-b
+X
l
l
l
-b
+X
E
-b
+X
G
o
"}
(21,1,1) = {"
g
-b
+X
l
l
l
l
l
-b
+X
h
-b
+X
h
h
h
@@ -684,26 +684,26 @@ l
l
j
j
-b
+X
"}
(22,1,1) = {"
c
c
-b
+X
l
l
-b
+X
h
h
t
-b
+X
h
h
h
h
h
m
-b
+X
l
l
l
@@ -713,11 +713,11 @@ j
j
"}
(23,1,1) = {"
-b
+X
h
m
n
-b
+X
h
l
o
@@ -726,23 +726,23 @@ u
r
p
h
-b
+X
h
-b
+X
l
l
l
-b
-b
+X
+X
w
-b
-b
+X
+X
"}
(24,1,1) = {"
a
a
-b
-b
+X
+X
l
l
l
@@ -761,7 +761,7 @@ l
c
l
l
-b
+X
a
"}
(25,1,1) = {"
@@ -775,9 +775,9 @@ l
j
l
l
-b
+X
h
-b
+X
x
h
l
@@ -795,7 +795,7 @@ a
a
a
c
-b
+X
l
l
l
@@ -804,14 +804,14 @@ l
l
g
l
-b
+X
h
l
l
l
c
m
-b
+X
a
a
a
@@ -820,9 +820,9 @@ a
a
a
a
-b
+X
h
-b
+X
l
l
l
@@ -836,7 +836,7 @@ l
l
l
l
-b
+X
a
a
a
@@ -848,9 +848,9 @@ a
a
a
c
-b
+X
l
-b
+X
l
l
l
@@ -859,7 +859,7 @@ l
l
l
l
-b
+X
l
f
a
@@ -873,11 +873,11 @@ a
a
a
a
-b
-b
+X
+X
f
c
-b
+X
l
c
l
@@ -887,7 +887,7 @@ l
c
o
l
-b
+X
a
a
a
@@ -902,16 +902,16 @@ a
a
g
c
-b
+X
l
l
-b
+X
m
l
-b
+X
l
f
-b
+X
a
a
a
@@ -928,11 +928,11 @@ a
a
a
a
-b
+X
l
-b
+X
a
-b
+X
l
c
f
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_elite_tumor.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_elite_tumor.dmm
index 62721ec4f3da..f8c1633f7779 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_elite_tumor.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_elite_tumor.dmm
@@ -26,107 +26,67 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"V" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/template_noop,
-/area/template_noop)
(1,1,1) = {"
a
a
+u
a
a
a
-a
-a
-a
-a
+u
"}
(2,1,1) = {"
a
-V
-V
-V
-V
-V
-V
-V
-a
-"}
-(3,1,1) = {"
-a
-V
u
E
u
u
u
-V
a
"}
-(4,1,1) = {"
-a
-V
+(3,1,1) = {"
+u
u
u
u
u
q
-V
-a
+u
"}
-(5,1,1) = {"
-a
-V
+(4,1,1) = {"
+u
u
u
k
u
u
-V
a
"}
-(6,1,1) = {"
+(5,1,1) = {"
a
-V
u
M
u
u
u
-V
-a
+u
"}
-(7,1,1) = {"
+(6,1,1) = {"
+a
a
-V
-u
-u
u
+a
u
u
-V
-a
-"}
-(8,1,1) = {"
-a
-V
-V
-V
-V
-V
-V
-V
a
"}
-(9,1,1) = {"
-a
-a
-a
-a
-a
+(7,1,1) = {"
a
+u
a
+u
+u
a
a
"}
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm
index c0c70a88b393..340e908d7496 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_gluttony.dmm
@@ -2,9 +2,6 @@
"a" = (
/turf/simulated/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
-"b" = (
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"c" = (
/turf/simulated/floor/lava/mapping_lava,
/area/lavaland/surface/outdoors)
@@ -71,6 +68,9 @@
},
/turf/simulated/floor/plasteel/freezer,
/area/ruin/powered/gluttony)
+"u" = (
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"v" = (
/obj/machinery/light/small,
/turf/simulated/floor/plasteel/freezer,
@@ -101,19 +101,19 @@
a
a
a
-b
-b
+u
+u
a
a
-b
+u
a
-b
-b
-b
-b
-b
-b
-b
+u
+u
+u
+u
+u
+u
+u
a
a
a
@@ -123,54 +123,54 @@ a
a
a
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+u
+u
+u
+u
+u
+u
+u
+u
+u
+u
+u
+u
+u
a
a
a
a
"}
(3,1,1) = {"
-b
+u
a
a
a
-b
-b
-b
+u
+u
+u
c
c
c
-b
+u
c
c
c
-b
-b
+u
+u
a
a
a
a
"}
(4,1,1) = {"
-b
+u
a
a
a
-b
-b
-b
+u
+u
+u
c
R
R
@@ -178,7 +178,7 @@ S
R
R
c
-b
+u
a
a
a
@@ -186,13 +186,13 @@ a
a
"}
(5,1,1) = {"
-b
-b
+u
+u
a
a
a
-b
-b
+u
+u
c
R
h
@@ -200,7 +200,7 @@ i
o
R
c
-b
+u
a
a
a
@@ -213,8 +213,8 @@ a
a
a
a
-b
-b
+u
+u
c
R
i
@@ -222,21 +222,21 @@ i
v
R
c
-b
-b
-b
-b
-b
+u
+u
+u
+u
+u
a
"}
(7,1,1) = {"
a
-b
-b
-b
-b
-b
-b
+u
+u
+u
+u
+u
+u
c
R
i
@@ -244,16 +244,16 @@ l
i
R
c
-b
-b
-b
-b
-b
+u
+u
+u
+u
+u
a
"}
(8,1,1) = {"
a
-b
+u
c
c
c
@@ -271,11 +271,11 @@ c
c
c
c
-b
+u
"}
(9,1,1) = {"
-b
-b
+u
+u
c
R
R
@@ -293,11 +293,11 @@ R
R
R
c
-b
+u
"}
(10,1,1) = {"
a
-b
+u
c
R
e
@@ -315,11 +315,11 @@ l
i
R
c
-b
+u
"}
(11,1,1) = {"
a
-b
+u
c
R
f
@@ -336,12 +336,12 @@ i
i
i
S
-b
-b
+u
+u
"}
(12,1,1) = {"
a
-b
+u
c
R
e
@@ -359,11 +359,11 @@ i
q
R
c
-b
+u
"}
(13,1,1) = {"
a
-b
+u
c
R
R
@@ -381,11 +381,11 @@ R
R
R
c
-b
+u
"}
(14,1,1) = {"
a
-b
+u
c
c
c
@@ -403,16 +403,16 @@ c
c
c
c
-b
+u
"}
(15,1,1) = {"
a
-b
-b
-b
-b
-b
-b
+u
+u
+u
+u
+u
+u
c
R
i
@@ -420,21 +420,21 @@ g
i
R
c
-b
-b
-b
-b
-b
-b
+u
+u
+u
+u
+u
+u
"}
(16,1,1) = {"
-b
-b
-b
+u
+u
+u
a
-b
-b
-b
+u
+u
+u
c
R
j
@@ -442,21 +442,21 @@ i
v
R
c
-b
-b
-b
+u
+u
+u
a
a
a
"}
(17,1,1) = {"
-b
-b
-b
+u
+u
+u
a
-b
-b
-b
+u
+u
+u
c
R
i
@@ -464,9 +464,9 @@ n
i
R
c
-b
-b
-b
+u
+u
+u
a
a
a
@@ -476,9 +476,9 @@ a
a
a
a
-b
-b
-b
+u
+u
+u
c
R
R
@@ -486,9 +486,9 @@ S
R
R
c
-b
-b
-b
+u
+u
+u
a
a
a
@@ -504,12 +504,12 @@ a
c
c
c
-b
+u
c
c
c
-b
-b
+u
+u
a
a
a
@@ -523,16 +523,16 @@ a
a
a
a
-b
-b
-b
-b
-b
-b
-b
+u
+u
+u
+u
+u
+u
+u
a
a
-b
+u
a
a
a
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
index 33d456c77ea2..4ecc08bc9cf8 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_golem_ship.dmm
@@ -67,11 +67,6 @@
/obj/machinery/mineral/equipment_vendor/golem,
/turf/simulated/floor/mineral/titanium/purple,
/area/shuttle/freegolem)
-"r" = (
-/obj/machinery/door/airlock/titanium,
-/obj/structure/fans/tiny,
-/turf/simulated/floor/mineral/titanium/purple,
-/area/shuttle/freegolem)
"s" = (
/obj/machinery/light{
dir = 8
@@ -258,6 +253,11 @@
},
/turf/simulated/floor/plating/lavaland_air,
/area/shuttle/freegolem)
+"W" = (
+/obj/machinery/door/airlock/titanium,
+/obj/structure/fans/tiny,
+/turf/simulated/floor/mineral/titanium/purple,
+/area/shuttle/freegolem)
(1,1,1) = {"
a
@@ -301,12 +301,12 @@ a
a
b
b
-r
+W
b
x
D
b
-r
+W
b
b
a
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
index 41c1eb0b8412..cc4a29fd3ea9 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hermit.dmm
@@ -167,7 +167,7 @@
/obj/effect/baseturf_helper,
/turf/simulated/floor/plating,
/area/ruin/powered)
-"P" = (
+"Q" = (
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
@@ -175,83 +175,14 @@
/obj/item/flashlight/lantern,
/turf/simulated/floor/plating,
/area/ruin/powered)
+"Z" = (
+/turf/template_noop,
+/area/template_noop)
(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-P
-P
-P
-a
-a
-a
-a
-a
-"}
-(2,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-P
-P
-s
-a
-a
-a
-"}
-(3,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-P
-P
-P
-s
-a
-a
-"}
-(4,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-P
-P
-P
-s
-a
-"}
-(5,1,1) = {"
-a
-a
-a
+Z
+Z
+Z
a
a
b
@@ -262,13 +193,13 @@ t
t
t
t
-P
-P
+Q
+Q
a
"}
-(6,1,1) = {"
-a
-a
+(2,1,1) = {"
+Z
+Z
a
a
b
@@ -280,11 +211,11 @@ v
x
B
t
-P
-P
-s
+Q
+Q
+Q
"}
-(7,1,1) = {"
+(3,1,1) = {"
a
a
a
@@ -298,11 +229,11 @@ w
y
y
D
-P
-P
+Q
+Q
a
"}
-(8,1,1) = {"
+(4,1,1) = {"
a
b
b
@@ -316,11 +247,11 @@ o
z
C
t
-P
-P
+Q
+Q
a
"}
-(9,1,1) = {"
+(5,1,1) = {"
b
b
g
@@ -334,11 +265,11 @@ o
t
t
t
-P
+Q
s
a
"}
-(10,1,1) = {"
+(6,1,1) = {"
b
d
g
@@ -352,11 +283,11 @@ o
A
b
a
-P
-P
+Q
+Q
s
"}
-(11,1,1) = {"
+(7,1,1) = {"
c
o
h
@@ -371,10 +302,10 @@ c
b
a
a
-P
+Q
s
"}
-(12,1,1) = {"
+(8,1,1) = {"
b
b
o
@@ -392,7 +323,7 @@ E
H
E
"}
-(13,1,1) = {"
+(9,1,1) = {"
a
b
b
@@ -403,19 +334,14 @@ a
a
a
a
-a
-a
+Z
+Z
a
F
I
F
"}
-(14,1,1) = {"
-a
-a
-a
-a
-a
+(10,1,1) = {"
a
a
a
@@ -423,44 +349,49 @@ a
a
a
a
+Z
+Z
+Z
+Z
+Z
a
F
I
F
"}
-(15,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
+(11,1,1) = {"
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
a
F
J
G
"}
-(16,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
+(12,1,1) = {"
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+Z
+a
+Q
+Q
+Q
"}
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
index 2eba0969e53a..cab297ad35b9 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_hierophant.dmm
@@ -2,9 +2,6 @@
"a" = (
/turf/simulated/wall/indestructible/hierophant,
/area/ruin/unpowered/hierophant)
-"b" = (
-/turf/simulated/floor/indestructible/hierophant,
-/area/ruin/unpowered/hierophant)
"c" = (
/obj/effect/light_emitter{
light_power = 5;
@@ -30,15 +27,18 @@
/obj/effect/baseturf_helper/lava/mapping_lava,
/turf/simulated/floor/indestructible/hierophant/two,
/area/ruin/unpowered/hierophant)
+"r" = (
+/turf/simulated/floor/indestructible/hierophant,
+/area/ruin/unpowered/hierophant)
(1,1,1) = {"
a
a
a
-b
-b
-b
-b
+r
+r
+r
+r
a
a
a
@@ -48,146 +48,146 @@ a
a
a
a
-b
-b
-b
-b
+r
+r
+r
+r
a
a
a
"}
(2,1,1) = {"
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-c
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+c
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
a
"}
(3,1,1) = {"
a
-b
-b
-b
+r
+r
+r
c
c
-b
-b
-b
+r
+r
+r
a
-b
-b
-b
+r
+r
+r
a
-b
-b
-b
+r
+r
+r
c
c
-b
-b
-b
+r
+r
+r
a
"}
(4,1,1) = {"
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
"}
(5,1,1) = {"
-b
-b
+r
+r
c
-b
+r
a
a
-b
+r
c
-b
-b
-b
+r
+r
+r
c
-b
-b
-b
+r
+r
+r
c
-b
+r
a
a
-b
+r
c
-b
-b
+r
+r
"}
(6,1,1) = {"
-b
-b
+r
+r
c
-b
+r
a
a
-b
+r
c
-b
-b
-b
+r
+r
+r
c
-b
-b
-b
+r
+r
+r
c
-b
+r
a
a
-b
+r
c
-b
-b
+r
+r
"}
(7,1,1) = {"
-b
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
+r
e
e
e
@@ -199,18 +199,18 @@ e
e
e
e
-b
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
+r
"}
(8,1,1) = {"
a
-b
-b
-b
+r
+r
+r
c
c
e
@@ -226,18 +226,18 @@ e
e
c
c
-b
-b
-b
+r
+r
+r
a
"}
(9,1,1) = {"
a
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
e
e
e
@@ -249,20 +249,20 @@ e
e
e
e
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
a
"}
(10,1,1) = {"
a
-b
+r
a
-b
-b
-b
+r
+r
+r
e
a
e
@@ -274,20 +274,20 @@ e
e
a
e
-b
-b
-b
+r
+r
+r
a
-b
+r
a
"}
(11,1,1) = {"
a
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
e
e
e
@@ -299,18 +299,18 @@ e
e
e
e
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
a
"}
(12,1,1) = {"
a
c
-b
-b
+r
+r
c
c
e
@@ -326,18 +326,18 @@ e
e
c
c
-b
-b
+r
+r
c
a
"}
(13,1,1) = {"
a
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
e
e
e
@@ -349,20 +349,20 @@ e
e
e
e
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
a
"}
(14,1,1) = {"
a
-b
+r
a
-b
-b
-b
+r
+r
+r
e
a
e
@@ -374,20 +374,20 @@ e
e
a
e
-b
-b
-b
+r
+r
+r
a
-b
+r
a
"}
(15,1,1) = {"
a
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
e
e
e
@@ -399,18 +399,18 @@ e
e
e
e
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
a
"}
(16,1,1) = {"
a
-b
-b
-b
+r
+r
+r
c
c
e
@@ -426,18 +426,18 @@ e
e
c
c
-b
-b
-b
+r
+r
+r
a
"}
(17,1,1) = {"
-b
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
+r
e
e
e
@@ -449,146 +449,146 @@ e
e
e
e
-b
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
+r
"}
(18,1,1) = {"
-b
-b
+r
+r
c
-b
+r
a
a
-b
+r
c
-b
-b
-b
+r
+r
+r
c
-b
-b
-b
+r
+r
+r
c
-b
+r
a
a
-b
+r
c
-b
-b
+r
+r
"}
(19,1,1) = {"
-b
-b
+r
+r
c
-b
+r
a
a
-b
+r
c
-b
-b
-b
+r
+r
+r
c
-b
-b
-b
+r
+r
+r
c
-b
+r
a
a
-b
+r
c
-b
-b
+r
+r
"}
(20,1,1) = {"
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
"}
(21,1,1) = {"
a
-b
-b
-b
+r
+r
+r
c
c
-b
-b
-b
+r
+r
+r
a
-b
-b
-b
+r
+r
+r
a
-b
-b
-b
+r
+r
+r
c
c
-b
-b
-b
+r
+r
+r
a
"}
(22,1,1) = {"
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-c
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
+c
+r
+r
+r
+r
+r
+r
+r
+r
+r
+r
a
"}
(23,1,1) = {"
a
a
a
-b
-b
-b
-b
+r
+r
+r
+r
a
a
a
@@ -598,10 +598,10 @@ a
a
a
a
-b
-b
-b
-b
+r
+r
+r
+r
a
a
a
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
index e21f413c620f..95a68100f271 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pizzaparty.dmm
@@ -2,9 +2,6 @@
"a" = (
/turf/template_noop,
/area/template_noop)
-"b" = (
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"c" = (
/obj/structure/lattice,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
@@ -217,74 +214,77 @@
"Q" = (
/turf/simulated/floor/plating/lavaland_air,
/area/ruin/powered/pizza_party)
+"Y" = (
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
(1,1,1) = {"
a
a
-b
-b
+Y
+Y
a
a
-b
-b
-b
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
a
a
a
a
"}
(2,1,1) = {"
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
c
c
-b
-b
-b
-b
+Y
+Y
+Y
+Y
a
a
"}
(3,1,1) = {"
-b
-b
-b
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
c
c
e
e
c
c
-b
-b
-b
+Y
+Y
+Y
a
"}
(4,1,1) = {"
-b
-b
-b
-b
+Y
+Y
+Y
+Y
d
-b
+Y
c
c
e
@@ -294,17 +294,17 @@ e
Q
e
d
-b
-b
+Y
+Y
a
"}
(5,1,1) = {"
a
-b
-b
-b
+Y
+Y
+Y
d
-b
+Y
m
e
w
@@ -314,15 +314,15 @@ h
h
e
d
-b
-b
-b
+Y
+Y
+Y
"}
(6,1,1) = {"
a
-b
-b
-b
+Y
+Y
+Y
d
f
n
@@ -333,16 +333,16 @@ e
M
e
c
-b
-b
-b
-b
+Y
+Y
+Y
+Y
"}
(7,1,1) = {"
-b
-b
-b
-b
+Y
+Y
+Y
+Y
d
g
o
@@ -352,17 +352,17 @@ C
J
h
d
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
"}
(8,1,1) = {"
-b
-b
-b
-b
+Y
+Y
+Y
+Y
e
h
p
@@ -372,16 +372,16 @@ D
K
M
d
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
"}
(9,1,1) = {"
-b
-b
-b
+Y
+Y
+Y
c
e
i
@@ -392,16 +392,16 @@ E
h
h
c
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
"}
(10,1,1) = {"
-b
-b
-b
+Y
+Y
+Y
c
e
j
@@ -412,17 +412,17 @@ F
q
N
c
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
"}
(11,1,1) = {"
-b
-b
-b
-b
+Y
+Y
+Y
+Y
e
e
h
@@ -432,17 +432,17 @@ G
q
h
c
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
"}
(12,1,1) = {"
-b
-b
-b
-b
+Y
+Y
+Y
+Y
d
k
h
@@ -452,17 +452,17 @@ H
h
O
d
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
"}
(13,1,1) = {"
-b
-b
-b
-b
+Y
+Y
+Y
+Y
d
k
h
@@ -472,17 +472,17 @@ s
o
n
d
-b
-b
-b
-b
+Y
+Y
+Y
+Y
a
"}
(14,1,1) = {"
-b
-b
-b
-b
+Y
+Y
+Y
+Y
d
l
i
@@ -492,17 +492,17 @@ I
L
P
d
-b
-b
-b
-b
+Y
+Y
+Y
+Y
a
"}
(15,1,1) = {"
-b
-b
-b
-b
+Y
+Y
+Y
+Y
d
d
e
@@ -512,48 +512,48 @@ e
e
d
d
-b
-b
-b
-b
+Y
+Y
+Y
+Y
a
"}
(16,1,1) = {"
a
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
c
v
-b
+Y
c
-b
-b
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
+Y
+Y
a
"}
(17,1,1) = {"
a
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
a
a
a
@@ -563,14 +563,14 @@ a
a
a
a
-b
-b
-b
-b
-b
-b
-b
-b
+Y
+Y
+Y
+Y
+Y
+Y
+Y
+Y
a
a
a
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pride.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pride.dmm
index 754614d2091e..849fa32764a7 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pride.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_pride.dmm
@@ -1,7 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"b" = (
/turf/simulated/mineral/volcanic/lava_land_surface,
/area/lavaland/surface/outdoors)
@@ -75,6 +72,9 @@
/obj/structure/mirror/magic/pride,
/turf/simulated/wall/mineral/diamond,
/area/ruin/powered/pride)
+"P" = (
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"Y" = (
/obj/machinery/door/airlock/diamond,
/obj/structure/fans/tiny/invisible,
@@ -82,30 +82,30 @@
/area/ruin/powered/pride)
(1,1,1) = {"
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
-a
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
+P
"}
(2,1,1) = {"
-a
-a
+P
+P
c
c
c
@@ -123,7 +123,7 @@ c
c
c
c
-a
+P
"}
(3,1,1) = {"
b
@@ -145,7 +145,7 @@ G
G
G
c
-a
+P
"}
(4,1,1) = {"
c
@@ -167,7 +167,7 @@ e
e
G
c
-a
+P
"}
(5,1,1) = {"
c
@@ -188,8 +188,8 @@ g
g
r
G
-a
-a
+P
+P
"}
(6,1,1) = {"
c
@@ -210,8 +210,8 @@ g
g
g
Y
-a
-a
+P
+P
"}
(7,1,1) = {"
c
@@ -233,7 +233,7 @@ g
r
G
c
-a
+P
"}
(8,1,1) = {"
c
@@ -255,7 +255,7 @@ f
f
G
c
-a
+P
"}
(9,1,1) = {"
b
@@ -277,7 +277,7 @@ G
G
G
c
-a
+P
"}
(10,1,1) = {"
b
@@ -299,5 +299,5 @@ c
c
c
c
-a
+P
"}
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_puzzle.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_puzzle.dmm
index 75b4c619445b..a00f000ad969 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_puzzle.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_puzzle.dmm
@@ -1,7 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-"a" = (
-/turf/template_noop,
-/area/lavaland/surface/outdoors)
"b" = (
/obj/effect/sliding_puzzle/lavaland,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
@@ -9,39 +6,42 @@
"c" = (
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
+"n" = (
+/turf/template_noop,
+/area/lavaland/surface/outdoors)
(1,1,1) = {"
-a
-a
-a
-a
-a
+n
+n
+n
+n
+n
"}
(2,1,1) = {"
-a
+n
c
c
c
-a
+n
"}
(3,1,1) = {"
-a
+n
c
b
c
-a
+n
"}
(4,1,1) = {"
-a
+n
c
c
c
-a
+n
"}
(5,1,1) = {"
-a
-a
-a
-a
-a
+n
+n
+n
+n
+n
"}
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
index 1840bd959f46..1ba79151f953 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_seed_vault.dmm
@@ -1,4 +1,7 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
+"aa" = (
+/turf/simulated/mineral/volcanic/lava_land_surface,
+/area/lavaland/surface/outdoors/unexplored)
"ag" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -486,84 +489,84 @@ QX
QX
QX
yZ
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
QX
-BC
+aa
QX
-BC
-BC
-BC
-BC
-BC
-BC
+aa
+aa
+aa
+aa
+aa
+aa
QX
QX
QX
"}
(2,1,1) = {"
QX
-BC
-yZ
-yZ
-yZ
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
+aa
+yZ
+yZ
+yZ
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
QX
-BC
-BC
-BC
-BC
-BC
+aa
+aa
+aa
+aa
+aa
"}
(3,1,1) = {"
QX
-BC
-BC
+aa
+aa
yZ
yZ
-BC
+aa
yZ
yZ
yZ
-BC
+aa
yZ
yZ
yZ
yZ
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
-BC
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+aa
QX
"}
(4,1,1) = {"
-BC
-BC
-BC
-BC
+aa
+aa
+aa
+aa
yZ
BC
yZ
@@ -579,16 +582,16 @@ yZ
yZ
yZ
yZ
-BC
+aa
yZ
-BC
-BC
-BC
+aa
+aa
+aa
"}
(5,1,1) = {"
-BC
+aa
QX
-BC
+aa
yZ
yZ
yZ
@@ -608,13 +611,13 @@ yZ
yZ
yZ
yZ
-BC
-BC
+aa
+aa
"}
(6,1,1) = {"
-BC
-BC
-BC
+aa
+aa
+aa
yZ
yZ
no
@@ -633,14 +636,14 @@ no
no
yZ
yZ
-BC
-BC
-BC
+aa
+aa
+aa
"}
(7,1,1) = {"
-BC
-BC
-BC
+aa
+aa
+aa
yZ
no
no
@@ -659,13 +662,13 @@ no
no
no
yZ
-BC
-BC
-BC
+aa
+aa
+aa
"}
(8,1,1) = {"
-BC
-BC
+aa
+aa
yZ
yZ
no
@@ -685,13 +688,13 @@ vt
AG
no
yZ
-BC
-BC
-BC
+aa
+aa
+aa
"}
(9,1,1) = {"
-BC
-BC
+aa
+aa
yZ
yZ
no
@@ -712,13 +715,13 @@ AG
no
yZ
yZ
-BC
+aa
QX
"}
(10,1,1) = {"
QX
-BC
-BC
+aa
+aa
yZ
no
Pg
@@ -743,8 +746,8 @@ yZ
"}
(11,1,1) = {"
QX
-BC
-BC
+aa
+aa
yZ
no
Pg
@@ -765,12 +768,12 @@ no
yZ
yZ
yZ
-BC
+aa
"}
(12,1,1) = {"
QX
-BC
-BC
+aa
+aa
yZ
no
no
@@ -790,12 +793,12 @@ no
no
yZ
yZ
-BC
-BC
+aa
+aa
"}
(13,1,1) = {"
-BC
-BC
+aa
+aa
yZ
yZ
Nj
@@ -815,14 +818,14 @@ no
no
Nj
yZ
-BC
-BC
-BC
+aa
+aa
+aa
"}
(14,1,1) = {"
-BC
-BC
-BC
+aa
+aa
+aa
yZ
yZ
no
@@ -841,15 +844,15 @@ Nj
no
yZ
yZ
-BC
-BC
-BC
+aa
+aa
+aa
"}
(15,1,1) = {"
-BC
-BC
-BC
-BC
+aa
+aa
+aa
+aa
yZ
al
yc
@@ -868,12 +871,12 @@ ja
yZ
yZ
yZ
-BC
-BC
+aa
+aa
"}
(16,1,1) = {"
-BC
-BC
+aa
+aa
yZ
yZ
yZ
@@ -893,14 +896,14 @@ no
no
yZ
yZ
-BC
-BC
+aa
+aa
QX
"}
(17,1,1) = {"
QX
-BC
-BC
+aa
+aa
yZ
no
no
@@ -920,12 +923,12 @@ no
no
yZ
yZ
-BC
-BC
+aa
+aa
"}
(18,1,1) = {"
-BC
-BC
+aa
+aa
yZ
yZ
no
@@ -947,11 +950,11 @@ no
yZ
yZ
yZ
-BC
+aa
"}
(19,1,1) = {"
-BC
-BC
+aa
+aa
yZ
yZ
no
@@ -972,11 +975,11 @@ iV
no
yZ
yZ
-BC
-BC
+aa
+aa
"}
(20,1,1) = {"
-BC
+aa
yZ
yZ
yZ
@@ -998,8 +1001,8 @@ ga
no
yZ
yZ
-BC
-BC
+aa
+aa
"}
(21,1,1) = {"
yZ
@@ -1025,12 +1028,12 @@ no
yZ
yZ
yZ
-BC
+aa
"}
(22,1,1) = {"
QX
yZ
-BC
+aa
yZ
no
MB
@@ -1050,12 +1053,12 @@ uO
no
yZ
yZ
-BC
-BC
+aa
+aa
"}
(23,1,1) = {"
-BC
-BC
+aa
+aa
yZ
yZ
no
@@ -1077,11 +1080,11 @@ no
yZ
yZ
yZ
-BC
+aa
"}
(24,1,1) = {"
QX
-BC
+aa
yZ
yZ
no
@@ -1102,12 +1105,12 @@ no
no
yZ
yZ
-BC
+aa
QX
"}
(25,1,1) = {"
-BC
-BC
+aa
+aa
yZ
yZ
Nj
@@ -1128,13 +1131,13 @@ no
Nj
yZ
yZ
-BC
-BC
+aa
+aa
"}
(26,1,1) = {"
-BC
-BC
-BC
+aa
+aa
+aa
yZ
yZ
no
@@ -1155,13 +1158,13 @@ yZ
yZ
yZ
yZ
-BC
+aa
"}
(27,1,1) = {"
-BC
-BC
-BC
-BC
+aa
+aa
+aa
+aa
yZ
al
yc
@@ -1179,14 +1182,14 @@ yc
ja
yZ
yZ
-BC
-BC
-BC
+aa
+aa
+aa
"}
(28,1,1) = {"
-BC
+aa
QX
-BC
+aa
yZ
yZ
yZ
@@ -1205,14 +1208,14 @@ yZ
yZ
yZ
yZ
-BC
-BC
+aa
+aa
QX
"}
(29,1,1) = {"
-BC
-BC
-BC
+aa
+aa
+aa
BC
BC
yZ
@@ -1231,14 +1234,14 @@ yZ
yZ
BC
yZ
-BC
-BC
-BC
+aa
+aa
+aa
"}
(30,1,1) = {"
QX
QX
-BC
+aa
BC
BC
yZ
@@ -1257,14 +1260,14 @@ yZ
yZ
yZ
BC
-BC
-BC
-BC
+aa
+aa
+aa
"}
(31,1,1) = {"
QX
-BC
-BC
+aa
+aa
BC
BC
yZ
@@ -1283,12 +1286,12 @@ BC
BC
yZ
BC
-BC
+aa
QX
-BC
+aa
"}
(32,1,1) = {"
-BC
+aa
QX
QX
BC
@@ -1309,13 +1312,13 @@ yZ
BC
BC
QX
-BC
-BC
+aa
+aa
QX
"}
(33,1,1) = {"
QX
-BC
+aa
BC
BC
BC
@@ -1335,9 +1338,9 @@ BC
BC
BC
BC
-BC
-BC
-BC
+aa
+aa
+aa
"}
(34,1,1) = {"
QX
diff --git a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
index ff9271dfe3d8..0f0b47cb8109 100644
--- a/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
+++ b/_maps/map_files/RandomRuins/LavaRuins/lavaland_surface_survivalpod.dmm
@@ -41,10 +41,6 @@
},
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"j" = (
-/obj/effect/decal/cleanable/blood/drip,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"k" = (
/obj/machinery/sleeper/survival_pod,
/turf/simulated/floor/pod/dark,
@@ -129,6 +125,10 @@
},
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
+"L" = (
+/obj/effect/decal/cleanable/blood/drip,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
(1,1,1) = {"
a
@@ -218,8 +218,8 @@ d
d
d
y
-j
-j
+L
+L
"}
(8,1,1) = {"
a
@@ -229,8 +229,8 @@ b
i
b
i
-j
-j
+L
+L
b
b
"}
@@ -239,7 +239,7 @@ a
a
b
b
-j
+L
n
s
b
@@ -254,7 +254,7 @@ a
a
a
o
-j
+L
b
a
a
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/debris1.dmm b/_maps/map_files/RandomRuins/SpaceRuins/debris1.dmm
index 0685cdb39eb4..dc0aad02f007 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/debris1.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/debris1.dmm
@@ -141,7 +141,7 @@
/turf/simulated/floor/plating/burnt/airless,
/area/space)
"U" = (
-/obj/effect/spawner/random_barrier/wall_probably,
+/obj/effect/spawner/random/barrier/wall_probably,
/turf/space,
/area/space)
"V" = (
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
index 592d9f2455ac..3131e93a9a5c 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/onehalf.dmm
@@ -1244,7 +1244,7 @@
/obj/structure/safe/floor,
/obj/item/tank/internals/oxygen/red,
/obj/item/clothing/mask/gas/syndicate,
-/obj/item/mod/control/pre_equipped/traitor,
+/obj/item/mod/control/pre_equipped/mining/asteroid,
/obj/item/reagent_containers/drinks/bottle/rum,
/obj/item/reagent_containers/drinks/bottle/rum,
/obj/item/folder/syndicate/blue,
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm b/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm
index e31219ca97e7..26c6e5586f9f 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/syndiecakesfactory.dmm
@@ -628,7 +628,7 @@
},
/area/ruin/space/syndicakefactory)
"wW" = (
-/obj/machinery/suit_storage_unit/syndicate,
+/obj/machinery/suit_storage_unit/mining,
/turf/simulated/floor/engine,
/area/ruin/space/syndicakefactory)
"xy" = (
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm b/_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm
index 2a893c1aa0fa..5ff98a049734 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/syndiedepot.dmm
@@ -147,14 +147,12 @@
on = 1
},
/obj/effect/spawner/random/syndicate/loot/common,
-/obj/structure/closet/secure_closet/syndicate/depot,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/syndicate_depot/core)
"aB" = (
/obj/effect/spawner/random/syndicate/loot/common,
-/obj/structure/closet/secure_closet/syndicate/depot,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -345,7 +343,6 @@
/area/syndicate_depot/core)
"bc" = (
/obj/effect/spawner/random/syndicate/loot/rare,
-/obj/structure/closet/secure_closet/syndicate/depot,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -371,7 +368,6 @@
on = 1
},
/obj/effect/spawner/random/syndicate/loot/rare,
-/obj/structure/closet/secure_closet/syndicate/depot,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -418,7 +414,6 @@
dir = 8
},
/obj/effect/spawner/random/syndicate/loot/common,
-/obj/structure/closet/secure_closet/syndicate/depot,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -428,7 +423,6 @@
dir = 4
},
/obj/effect/spawner/random/syndicate/loot/common,
-/obj/structure/closet/secure_closet/syndicate/depot,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -539,7 +533,6 @@
/area/syndicate_depot/core)
"bE" = (
/obj/effect/spawner/random/syndicate/loot/officer,
-/obj/structure/closet/secure_closet/syndicate/depot,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -577,7 +570,6 @@
},
/area/syndicate_depot/outer)
"bJ" = (
-/obj/structure/closet/secure_closet/syndicate/depot,
/obj/effect/spawner/random/syndicate/trapped_documents,
/turf/simulated/floor/plasteel{
icon_state = "dark"
@@ -800,7 +792,6 @@
/area/syndicate_depot/core)
"cm" = (
/obj/effect/spawner/random/syndicate/loot/armory,
-/obj/structure/closet/secure_closet/syndicate/depot/armory,
/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/plasteel{
icon_state = "dark"
@@ -812,14 +803,12 @@
on = 1
},
/obj/effect/spawner/random/syndicate/loot/armory,
-/obj/structure/closet/secure_closet/syndicate/depot/armory,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
/area/syndicate_depot/core)
"co" = (
/obj/effect/spawner/random/syndicate/loot/armory,
-/obj/structure/closet/secure_closet/syndicate/depot/armory,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
@@ -1129,7 +1118,6 @@
dir = 8
},
/obj/effect/spawner/random/syndicate/loot/rare,
-/obj/structure/closet/secure_closet/syndicate/depot,
/turf/simulated/floor/plasteel{
icon_state = "dark"
},
diff --git a/_maps/map_files/RandomRuins/SpaceRuins/telecomns_returns.dmm b/_maps/map_files/RandomRuins/SpaceRuins/telecomns_returns.dmm
index 70119730e7b0..56d8b0a3d02f 100644
--- a/_maps/map_files/RandomRuins/SpaceRuins/telecomns_returns.dmm
+++ b/_maps/map_files/RandomRuins/SpaceRuins/telecomns_returns.dmm
@@ -1725,7 +1725,7 @@
/turf/simulated/floor/catwalk,
/area/ruin/space/telecomms/powercontrol)
"Aj" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/engine,
/area/ruin/space/telecomms/computer)
"Ay" = (
diff --git a/_maps/map_files/generic/Lavaland.dmm b/_maps/map_files/generic/Lavaland.dmm
index 0e84283fe625..84033cd7a314 100644
--- a/_maps/map_files/generic/Lavaland.dmm
+++ b/_maps/map_files/generic/Lavaland.dmm
@@ -132,6 +132,15 @@
},
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/siberia)
+"ay" = (
+/obj/structure/stone_tile/block/cracked,
+/obj/structure/stone_tile/block/cracked{
+ dir = 1
+ },
+/obj/effect/mapping_helpers/no_lava,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"aD" = (
/obj/structure/chair{
dir = 8
@@ -619,6 +628,10 @@
},
/turf/simulated/floor/plating/lavaland_air,
/area/shuttle/siberia)
+"ci" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"cj" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/portable/pump,
@@ -727,11 +740,6 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"cv" = (
-/obj/structure/ore_box,
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"cw" = (
/obj/effect/spawner/random_spawners/wall_rusted_maybe,
/turf/simulated/wall,
@@ -2443,10 +2451,6 @@
"fQ" = (
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored/danger)
-"fS" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors/unexplored)
"fU" = (
/obj/machinery/door/airlock/titanium{
id_tag = "s_docking_airlock";
@@ -2697,7 +2701,7 @@
icon_state = "1-2"
},
/obj/effect/spawner/random_spawners/dirt_maybe,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/south)
"gu" = (
@@ -2764,6 +2768,13 @@
},
/turf/simulated/floor/indestructible/boss,
/area/lavaland/surface/outdoors)
+"gD" = (
+/obj/structure/sign/nanotrasen{
+ pixel_y = -32
+ },
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"gE" = (
/obj/machinery/atmospherics/pipe/simple/hidden{
dir = 4
@@ -3133,6 +3144,12 @@
/obj/item/clothing/shoes/orange,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
+"ig" = (
+/obj/structure/stone_tile/slab,
+/obj/effect/mapping_helpers/no_lava,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"ih" = (
/obj/structure/cable{
d1 = 1;
@@ -3492,10 +3509,6 @@
},
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"ka" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/mineral/random/volcanic,
-/area/lavaland/surface/outdoors/unexplored)
"kb" = (
/obj/machinery/atmospherics/portable/canister/oxygen,
/obj/effect/decal/cleanable/dirt,
@@ -3552,10 +3565,6 @@
/obj/structure/lattice/catwalk/mining,
/turf/simulated/floor/lava/mapping_lava,
/area/lavaland/surface/outdoors/outpost/catwalk)
-"kw" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/mineral/random/high_chance/volcanic,
-/area/lavaland/surface/outdoors)
"ky" = (
/obj/structure/stone_tile/cracked{
dir = 4
@@ -3654,11 +3663,6 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"lh" = (
-/obj/effect/mapping_helpers/no_lava,
-/obj/structure/flora/ash/rock/style_random,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"lj" = (
/obj/structure/stone_tile/block{
dir = 1
@@ -3685,20 +3689,6 @@
/obj/structure/glowshroom,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/outpost/catwalk)
-"lp" = (
-/obj/structure/stone_tile/block/cracked{
- dir = 4
- },
-/obj/structure/stone_tile/cracked{
- dir = 4
- },
-/obj/structure/stone_tile/cracked{
- dir = 8
- },
-/obj/effect/mapping_helpers/no_lava,
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"lq" = (
/obj/structure/stone_tile/block/cracked,
/obj/structure/stone_tile/block/cracked{
@@ -3839,15 +3829,6 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"md" = (
-/obj/structure/stone_tile/block/cracked,
-/obj/structure/stone_tile/block/cracked{
- dir = 1
- },
-/obj/effect/mapping_helpers/no_lava,
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"mf" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
@@ -4613,6 +4594,13 @@
icon_state = "yellowsiding"
},
/area/mine/laborcamp)
+"oI" = (
+/obj/structure/stone_tile{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"oW" = (
/obj/machinery/door/airlock/security/glass{
name = "Labor Camp Security"
@@ -4755,6 +4743,11 @@
icon_state = "yellowsiding"
},
/area/mine/laborcamp)
+"pG" = (
+/obj/structure/ore_box,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"pH" = (
/obj/structure/stone_tile/block{
dir = 8
@@ -5059,11 +5052,6 @@
icon_state = "darkred"
},
/area/mine/laborcamp)
-"rW" = (
-/obj/structure/stone_tile/slab,
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"sg" = (
/obj/structure/stone_tile/block{
dir = 1
@@ -5614,6 +5602,11 @@
},
/turf/simulated/floor/catwalk,
/area/mine/laborcamp/security)
+"vK" = (
+/obj/effect/mapping_helpers/no_lava,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/wall/indestructible/boss,
+/area/lavaland/surface/outdoors)
"vM" = (
/obj/structure/lattice/catwalk/mining,
/obj/structure/closet/crate/internals,
@@ -5868,13 +5861,6 @@
/obj/structure/closet/crate,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"xy" = (
-/obj/structure/sign/nanotrasen{
- pixel_x = -32
- },
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"xA" = (
/obj/machinery/hologram/holopad,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
@@ -5925,6 +5911,10 @@
icon_state = "darkpurplecorners"
},
/area/mine/outpost/hallway/west)
+"xH" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/wall/boss,
+/area/lavaland/surface/outdoors)
"xJ" = (
/obj/structure/stone_tile/block{
dir = 4
@@ -5950,10 +5940,6 @@
icon_state = "yellowsiding"
},
/area/mine/laborcamp)
-"xN" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/mineral/random/volcanic,
-/area/lavaland/surface/outdoors/unexplored/danger)
"xP" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -5983,7 +5969,6 @@
/area/mine/outpost/maintenance/south)
"ya" = (
/obj/effect/mapping_helpers/no_lava,
-/obj/effect/mapping_helpers/no_lava,
/turf/simulated/wall/indestructible/boss,
/area/lavaland/surface/outdoors)
"yb" = (
@@ -6080,6 +6065,7 @@
},
/area/mine/outpost/engineering)
"ys" = (
+/obj/effect/mapping_helpers/no_lava,
/turf/simulated/wall/boss,
/area/lavaland/surface/outdoors/unexplored/danger)
"yw" = (
@@ -6170,11 +6156,15 @@
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/south)
"yR" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/spawner/random_spawners/dirt_maybe,
/obj/effect/decal/cleanable/spiderling_remains,
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/south)
+"yS" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/mineral/random/volcanic,
+/area/lavaland/surface/outdoors/unexplored/danger)
"yU" = (
/obj/machinery/flasher{
id = "gulagshuttleflasher";
@@ -6391,10 +6381,6 @@
dir = 5
},
/area/mine/laborcamp)
-"Ad" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/wall/indestructible/boss,
-/area/lavaland/surface/outdoors)
"Ag" = (
/turf/simulated/floor/plasteel{
icon_state = "darkredyellowfull"
@@ -6556,6 +6542,10 @@
icon_state = "darkfull"
},
/area/mine/outpost/lockers)
+"AS" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/mineral/random/volcanic,
+/area/lavaland/surface/outdoors/unexplored)
"AW" = (
/obj/structure/stone_tile,
/obj/structure/stone_tile/block{
@@ -6564,10 +6554,6 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"AY" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/mineral/volcanic/lava_land_surface,
-/area/lavaland/surface/outdoors)
"Ba" = (
/obj/structure/cable{
d1 = 2;
@@ -6689,10 +6675,6 @@
/obj/effect/spawner/random_spawners/wall_rusted_maybe,
/turf/simulated/wall,
/area/mine/outpost/hallway/east)
-"BI" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/lava/mapping_lava,
-/area/lavaland/surface/outdoors)
"BL" = (
/obj/structure/stone_tile{
dir = 8
@@ -6727,10 +6709,6 @@
/obj/structure/flora/ash/cacti,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"BX" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/wall/boss,
-/area/lavaland/surface/outdoors/unexplored/danger)
"BY" = (
/obj/structure/lattice/catwalk/mining,
/obj/structure/marker_beacon/dock_marker,
@@ -7005,7 +6983,7 @@
/turf/simulated/wall,
/area/mine/outpost/airlock)
"DA" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/effect/spawner/random_spawners/dirt_maybe,
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/east)
@@ -7458,6 +7436,20 @@
/obj/machinery/hologram/holopad,
/turf/simulated/floor/catwalk,
/area/mine/outpost/engineering)
+"Gq" = (
+/obj/structure/stone_tile/block/cracked{
+ dir = 4
+ },
+/obj/structure/stone_tile/cracked{
+ dir = 4
+ },
+/obj/structure/stone_tile/cracked{
+ dir = 8
+ },
+/obj/effect/mapping_helpers/no_lava,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"Gs" = (
/obj/effect/spawner/random_spawners/wall_rusted_maybe,
/obj/structure/sign/nanotrasen,
@@ -7635,6 +7627,10 @@
},
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/mine/laborcamp)
+"HB" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/lava/mapping_lava,
+/area/lavaland/surface/outdoors)
"HC" = (
/turf/simulated/floor/plasteel{
icon_state = "yellowsiding";
@@ -7722,6 +7718,10 @@
icon_state = "darkfull"
},
/area/mine/outpost/storage)
+"Is" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/mineral/volcanic/lava_land_surface,
+/area/lavaland/surface/outdoors)
"Iv" = (
/obj/effect/spawner/random_spawners/wall_rusted_maybe,
/turf/simulated/wall/r_wall,
@@ -7914,6 +7914,10 @@
icon_state = "darkfull"
},
/area/mine/outpost/storage)
+"JA" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/mineral/random/volcanic,
+/area/lavaland/surface/outdoors)
"JB" = (
/obj/structure/closet/crate/secure/loot,
/obj/effect/mapping_helpers/no_lava,
@@ -8085,7 +8089,7 @@
/turf/simulated/wall,
/area/mine/outpost/maintenance/south)
"KH" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/south)
"KI" = (
@@ -8200,6 +8204,10 @@
/obj/effect/mapping_helpers/airlock/access/all/security/brig,
/turf/simulated/floor/mineral/plastitanium/red,
/area/shuttle/siberia)
+"Lb" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors/unexplored)
"Lh" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
@@ -8232,10 +8240,6 @@
/obj/structure/railing/corner,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/outpost/catwalk)
-"Ly" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"Lz" = (
/obj/machinery/hologram/holopad,
/turf/simulated/floor/plasteel{
@@ -8515,6 +8519,11 @@
/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/lava/mapping_lava,
/area/lavaland/surface/outdoors)
+"NC" = (
+/obj/effect/mapping_helpers/no_lava,
+/obj/structure/flora/ash/rock/style_random,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"NF" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -8538,11 +8547,6 @@
icon_state = "tranquillite"
},
/area/mine/outpost/cafeteria)
-"NI" = (
-/obj/effect/mapping_helpers/no_lava,
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"NK" = (
/obj/structure/reagent_dispensers/fueltank,
/obj/effect/spawner/random_spawners/dirt_maybe,
@@ -8818,6 +8822,9 @@
icon_state = "darkfull"
},
/area/mine/outpost/lockers)
+"Pw" = (
+/turf/simulated/wall/boss,
+/area/lavaland/surface/outdoors/unexplored/danger)
"PD" = (
/obj/structure/sign/poster/official/random{
pixel_x = 32
@@ -9085,10 +9092,6 @@
icon_state = "darkred"
},
/area/mine/laborcamp/security)
-"Rl" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/wall/boss,
-/area/lavaland/surface/outdoors)
"Rs" = (
/obj/structure/closet/crate/trashcart,
/obj/item/trash/liquidfood,
@@ -9106,13 +9109,6 @@
},
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/outpost/catwalk)
-"Rz" = (
-/obj/structure/sign/nanotrasen{
- pixel_y = -32
- },
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"RJ" = (
/obj/structure/stone_tile/slab/burnt,
/obj/structure/stone_tile/slab,
@@ -9382,6 +9378,10 @@
/obj/effect/baseturf_helper/lava_land,
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/east)
+"Ts" = (
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/mineral/random/high_chance/volcanic,
+/area/lavaland/surface/outdoors)
"Tt" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 8
@@ -9422,6 +9422,13 @@
icon_state = "darkfull"
},
/area/mine/outpost/engineering)
+"TM" = (
+/obj/structure/sign/nanotrasen{
+ pixel_x = -32
+ },
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"TN" = (
/obj/machinery/atmospherics/pipe/manifold/hidden/supply{
dir = 8
@@ -9542,6 +9549,11 @@
},
/turf/simulated/floor/plating,
/area/mine/laborcamp)
+"UC" = (
+/obj/effect/mapping_helpers/no_lava,
+/obj/effect/mapping_helpers/no_lava,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
+/area/lavaland/surface/outdoors)
"UI" = (
/obj/structure/lattice/catwalk/mining,
/obj/structure/marker_beacon/dock_marker,
@@ -9781,13 +9793,6 @@
},
/turf/simulated/floor/plasteel,
/area/mine/laborcamp)
-"VU" = (
-/obj/structure/stone_tile{
- dir = 8
- },
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
-/area/lavaland/surface/outdoors)
"VV" = (
/obj/machinery/firealarm/directional/west,
/obj/item/kirbyplants,
@@ -9897,10 +9902,6 @@
},
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/outpost/catwalk)
-"WH" = (
-/obj/effect/mapping_helpers/no_lava,
-/turf/simulated/mineral/random/volcanic,
-/area/lavaland/surface/outdoors)
"WJ" = (
/obj/machinery/flasher{
id = "labor";
@@ -10398,7 +10399,6 @@
"Zj" = (
/obj/structure/stone_tile/slab,
/obj/effect/mapping_helpers/no_lava,
-/obj/effect/mapping_helpers/no_lava,
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"Zm" = (
@@ -23294,14 +23294,14 @@ ai
ai
ai
am
-WH
-Ly
-BI
-BI
-BI
-AY
-AY
-AY
+JA
+ci
+HB
+HB
+HB
+Is
+Is
+Is
AE
ec
eQ
@@ -23551,14 +23551,14 @@ am
am
am
ai
-Ly
-BI
-BI
-BI
-AY
-BI
-AY
-AY
+ci
+HB
+HB
+HB
+Is
+HB
+Is
+Is
AE
ec
AE
@@ -23808,14 +23808,14 @@ am
am
am
ai
-Ly
-BI
-Ly
-AY
-BI
-AY
-AY
-AY
+ci
+HB
+ci
+Is
+HB
+Is
+Is
+Is
AE
cx
AE
@@ -24065,13 +24065,13 @@ am
am
am
ai
-Ly
-BI
-BI
+ci
+HB
+HB
FC
-AY
-AY
-AY
+Is
+Is
+Is
JB
Qd
Bh
@@ -24322,14 +24322,14 @@ am
am
am
ai
-BI
-BI
-BI
-BI
-BI
-BI
+HB
+HB
+HB
+HB
+HB
+HB
FC
-Ly
+ci
Aw
Ej
Aw
@@ -24579,14 +24579,14 @@ am
am
am
am
-WH
-BI
-BI
-BI
-BI
-BI
-BI
-BI
+JA
+HB
+HB
+HB
+HB
+HB
+HB
+HB
Aw
Ej
Aw
@@ -24836,14 +24836,14 @@ am
am
am
am
-WH
-BI
-BI
-Ly
-BI
-BI
-BI
-BI
+JA
+HB
+HB
+ci
+HB
+HB
+HB
+HB
Aw
Ej
ab
@@ -25093,14 +25093,14 @@ am
am
am
am
-ka
-Ly
-BI
-BI
-Ly
+AS
+ci
+HB
+HB
+ci
FC
-BI
-BI
+HB
+HB
Aw
lB
ab
@@ -25350,14 +25350,14 @@ am
am
am
am
-ka
-ka
-BI
-BI
-AY
-AY
-lh
-BI
+AS
+AS
+HB
+HB
+Is
+Is
+NC
+HB
Aw
Ej
Aw
@@ -25607,14 +25607,14 @@ am
am
am
am
-ka
-ka
-ka
-BI
-BI
+AS
+AS
+AS
+HB
+HB
uZ
-BI
-BI
+HB
+HB
Aw
FA
Aw
@@ -25864,14 +25864,14 @@ am
am
am
am
-ka
-ka
-WH
-BI
-BI
-BI
-BI
-BI
+AS
+AS
+JA
+HB
+HB
+HB
+HB
+HB
SD
Zz
LS
@@ -26121,13 +26121,13 @@ am
am
am
am
-ka
-WH
-BI
-BI
-BI
-BI
-BI
+AS
+JA
+HB
+HB
+HB
+HB
+HB
cr
cr
bp
@@ -26378,13 +26378,13 @@ am
am
am
am
-ka
-WH
-BI
-BI
-BI
-BI
-BI
+AS
+JA
+HB
+HB
+HB
+HB
+HB
cU
dH
HT
@@ -26635,13 +26635,13 @@ am
am
am
am
-ka
-ka
-WH
-BI
-BI
-BI
-Ly
+AS
+AS
+JA
+HB
+HB
+HB
+ci
cU
jP
bE
@@ -26892,13 +26892,13 @@ am
am
am
am
-ka
-ka
-ka
-Ly
-Ly
-BI
-Rz
+AS
+AS
+AS
+ci
+ci
+HB
+gD
cr
bY
bW
@@ -27149,13 +27149,13 @@ am
am
am
am
-ka
-ka
-WH
-Ly
-BI
-BI
-AY
+AS
+AS
+JA
+ci
+HB
+HB
+Is
cU
jP
bV
@@ -27406,13 +27406,13 @@ am
am
am
am
-ka
-ka
-WH
-BI
-BI
-BI
-AY
+AS
+AS
+JA
+HB
+HB
+HB
+Is
cU
yY
bQ
@@ -27663,12 +27663,12 @@ am
am
am
am
-ka
-ka
-WH
-BI
-BI
-BI
+AS
+AS
+JA
+HB
+HB
+HB
Mv
cr
cr
@@ -27920,12 +27920,12 @@ am
am
am
am
-ka
-ka
-WH
-BI
-BI
-AY
+AS
+AS
+JA
+HB
+HB
+Is
Mv
cr
ex
@@ -28177,13 +28177,13 @@ am
am
am
am
-ka
-ka
-WH
-Ly
-AY
-AY
-AY
+AS
+AS
+JA
+ci
+Is
+Is
+Is
cr
eS
dY
@@ -28196,25 +28196,25 @@ Jk
ds
dE
kf
-AY
+Is
Yz
-Ly
-AY
-AY
-AY
+ci
+Is
+Is
+Is
KS
-AY
-AY
-Ly
+Is
+Is
+ci
pl
-Ly
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
+ci
+ci
+HB
+HB
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -28434,13 +28434,13 @@ am
am
am
am
-ka
-WH
-Ly
-Ly
-AY
-AY
-AY
+AS
+JA
+ci
+ci
+Is
+Is
+Is
cr
ss
dY
@@ -28453,25 +28453,25 @@ cD
fG
vT
kf
-Ly
-Ly
-Ly
-Ly
-AY
-AY
-AY
-Ly
-Ly
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
+ci
+ci
+ci
+ci
+Is
+Is
+Is
+ci
+ci
+ci
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -28691,13 +28691,13 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-AY
-AY
-AY
+JA
+ci
+ci
+ci
+Is
+Is
+Is
cr
cU
cU
@@ -28710,25 +28710,25 @@ Dz
Yv
iN
Dz
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-Ly
-BI
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+ci
+HB
+ci
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -28947,45 +28947,45 @@ ai
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-AY
-AY
-xy
-Ly
-Ly
-AY
-AY
+JA
+ci
+ci
+ci
+ci
+ci
+Is
+Is
+TM
+ci
+ci
+Is
+Is
KS
-AY
-AY
-AY
-Ly
-Ly
+Is
+Is
+Is
+ci
+ci
AD
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -29204,45 +29204,45 @@ ab
ai
ai
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-AY
-AY
-Ly
-Ly
-Ly
-AY
-AY
-AY
-AY
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-BI
-BI
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
-BI
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+Is
+Is
+ci
+ci
+ci
+Is
+Is
+Is
+Is
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+HB
+HB
+ci
+HB
+HB
+HB
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -29461,45 +29461,45 @@ ab
ai
ab
ai
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+ci
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -29718,45 +29718,45 @@ ab
ab
ab
ab
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-BI
-Ly
-BI
-BI
-BI
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+HB
+ci
+HB
+HB
+HB
Aw
Aw
Aw
@@ -29975,45 +29975,45 @@ ab
ab
ab
ab
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-Ly
-BI
-BI
-BI
-BI
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+ci
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -30232,45 +30232,45 @@ ab
ab
ab
ab
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-WH
-WH
-WH
-WH
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-BI
-BI
-BI
-BI
+JA
+JA
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+JA
+JA
+JA
+JA
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -30489,45 +30489,45 @@ ab
ab
ab
ab
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-WH
-BI
-BI
-BI
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-WH
-BI
-BI
-BI
-BI
+ci
+JA
+JA
+ci
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+JA
+HB
+HB
+HB
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+ci
+JA
+HB
+HB
+HB
+HB
Aw
Aw
Aw
@@ -30746,45 +30746,45 @@ ab
ab
ab
ab
-Ly
-Ly
-Ly
-NI
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-BI
-BI
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-ka
-BI
-Ly
-Ly
-BI
+ci
+ci
+ci
+UC
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+HB
+HB
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+AS
+HB
+ci
+ci
+HB
Aw
Aw
Aw
@@ -31003,45 +31003,45 @@ ab
ab
ab
ab
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-WH
-Ly
-BI
-BI
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+JA
+ci
+HB
+HB
Aw
Aw
Aw
@@ -31260,45 +31260,45 @@ ab
ab
ab
ab
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-WH
-BI
-BI
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+JA
+HB
+HB
Aw
Aw
Aw
@@ -31517,45 +31517,45 @@ ai
ai
ab
ab
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-Ly
-WH
-WH
-Ly
-Ly
-WH
-ka
-ka
-ka
-WH
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+ci
+JA
+JA
+ci
+ci
+JA
+AS
+AS
+AS
+JA
+ci
+ci
Aw
Aw
Aw
@@ -31774,45 +31774,45 @@ am
am
ai
ab
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-WH
-Ly
-BI
-BI
-BI
-BI
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-WH
-BI
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+JA
+ci
+HB
+HB
+HB
+HB
+ci
+ci
+ci
+JA
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+JA
+HB
Aw
Aw
Aw
@@ -32031,45 +32031,45 @@ am
am
ai
ab
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-WH
-BI
-BI
-BI
-Ly
-WH
-WH
-WH
-WH
-Ly
-Ly
-Ly
-WH
-ka
-ka
-WH
-BI
-BI
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+JA
+HB
+HB
+HB
+ci
+JA
+JA
+JA
+JA
+ci
+ci
+ci
+JA
+AS
+AS
+JA
+HB
+HB
Aw
Aw
Aw
@@ -32288,45 +32288,45 @@ am
ai
ab
ab
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-WH
-BI
-BI
-Ly
-WH
-ka
-ka
-WH
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+JA
+HB
+HB
+ci
+JA
+AS
+AS
+JA
cu
-Ly
-Ly
-Ly
-WH
-ka
-ka
-WH
-BI
-BI
+ci
+ci
+ci
+JA
+AS
+AS
+JA
+HB
+HB
Aw
Aw
Aw
@@ -32545,45 +32545,45 @@ am
ai
ab
ab
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-WH
-BI
-WH
-WH
-ka
-ka
-ka
-WH
-cv
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-WH
-BI
+ci
+ci
+ci
+ci
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+JA
+HB
+JA
+JA
+AS
+AS
+AS
+JA
+pG
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+JA
+HB
Aw
Aw
Aw
@@ -32802,45 +32802,45 @@ am
am
ai
ab
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-WH
-ka
-WH
-WH
-WH
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-kw
-ka
-ka
-ka
-ka
-WH
-BI
+ci
+ci
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+ci
+ci
+ci
+JA
+AS
+JA
+JA
+JA
+AS
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+Ts
+AS
+AS
+AS
+AS
+JA
+HB
Aw
Aw
Aw
@@ -33059,45 +33059,45 @@ am
am
am
ai
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-ka
-WH
-WH
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-WH
-ka
-ka
-ka
-ka
-WH
-Ly
-BI
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+AS
+JA
+JA
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+JA
+AS
+AS
+AS
+AS
+JA
+ci
+HB
ab
Aw
Aw
@@ -33316,45 +33316,45 @@ am
am
am
am
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+ci
+ci
Aw
Aw
Aw
@@ -33573,45 +33573,45 @@ am
am
am
ai
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
-BI
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+ci
+HB
Aw
Aw
Aw
@@ -33830,45 +33830,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-BI
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+HB
Aw
Aw
Aw
@@ -34087,45 +34087,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-BI
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+HB
Aw
Aw
Aw
@@ -34344,45 +34344,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-BI
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+HB
Aw
Aw
Aw
@@ -34601,45 +34601,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+ci
Aw
Aw
Aw
@@ -34858,45 +34858,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+ci
ab
Aw
Aw
@@ -35115,45 +35115,45 @@ am
am
am
am
-WH
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-WH
+JA
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+JA
Aw
ab
Aw
@@ -35372,45 +35372,45 @@ am
am
am
ai
-Ly
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
+ci
+ci
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+ci
Aw
Aw
Aw
@@ -35629,45 +35629,45 @@ am
am
am
ai
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+ci
ab
Aw
Aw
@@ -35886,45 +35886,45 @@ am
am
am
ai
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-WH
-WH
-WH
-WH
-Ly
-Ly
-WH
-WH
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-WH
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+JA
+JA
+JA
+JA
+ci
+ci
+JA
+JA
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+JA
Aw
Aw
Aw
@@ -36143,45 +36143,45 @@ am
am
am
ai
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-WH
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+JA
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+JA
Aw
Aw
Aw
@@ -36249,17 +36249,17 @@ ak
ZY
ZY
ZY
-BX
-BX
-BX
-BX
-BX
-BX
-BX
-BX
-BX
-BX
-BX
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+ys
ZY
ZY
ZY
@@ -36400,45 +36400,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-WH
-ka
-ka
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-ka
-ka
-WH
-ka
-ka
-ka
-WH
-Ly
-WH
-WH
-ka
-ka
-ka
-ka
-WH
+JA
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+ci
+JA
+AS
+AS
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+AS
+AS
+JA
+AS
+AS
+AS
+JA
+ci
+JA
+JA
+AS
+AS
+AS
+AS
+JA
Aw
Aw
Aw
@@ -36504,21 +36504,21 @@ ZY
ZY
ZY
ZY
-BX
-BX
-BX
-BI
-BX
-BX
-BI
-BI
-BI
-BX
-BX
-BI
-BX
-BX
-BX
+ys
+ys
+ys
+HB
+ys
+ys
+HB
+HB
+HB
+ys
+ys
+HB
+ys
+ys
+ys
ZY
ZY
ZY
@@ -36657,45 +36657,45 @@ am
am
am
am
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-WH
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-WH
-WH
-Ly
-WH
-ka
-WH
-Ly
-Ly
-Ly
-WH
-Ly
-WH
-WH
-WH
-WH
+AS
+JA
+ci
+ci
+ci
+ci
+JA
+AS
+JA
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+ci
+JA
+JA
+ci
+JA
+AS
+JA
+ci
+ci
+ci
+JA
+ci
+JA
+JA
+JA
+JA
Aw
Aw
Aw
@@ -36759,25 +36759,25 @@ ak
ak
ak
ZY
-BX
-BX
-BX
-BI
-BX
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BX
-BI
-BX
-BX
-BX
+ys
+ys
+ys
+HB
+ys
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+ys
+HB
+ys
+ys
+ys
ZY
ak
ak
@@ -36914,45 +36914,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-WH
-Ly
-WH
-Ly
+JA
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+JA
+ci
+JA
+ci
+JA
+ci
Aw
Aw
Aw
@@ -37016,25 +37016,25 @@ ak
ZY
ZY
ZY
-BX
-BX
-BI
+ys
+ys
+HB
pT
Ur
-BX
-BX
-BI
-BI
-BI
-BI
-BI
-BX
-BX
+ys
+ys
+HB
+HB
+HB
+HB
+HB
+ys
+ys
qo
il
-BI
-BX
-BX
+HB
+ys
+ys
ZY
ZY
ZY
@@ -37171,45 +37171,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
+JA
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+ci
+ci
+ci
Aw
Aw
Aw
@@ -37272,27 +37272,27 @@ ak
ak
ak
ZY
-BX
-BX
-BI
+ys
+ys
+HB
NA
-BI
+HB
pP
-BI
-Ly
+HB
+ci
qk
-Ly
-Ly
-Ly
-rW
-Ly
-BI
+ci
+ci
+ci
+Zj
+ci
+HB
RK
-BI
+HB
pn
-BI
-BX
-BX
+HB
+ys
+ys
ZY
ak
ak
@@ -37428,45 +37428,45 @@ am
am
am
am
-ka
-WH
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-ka
-WH
-WH
-WH
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-Ly
-Ly
+AS
+JA
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+JA
+AS
+JA
+JA
+JA
+ci
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+ci
+ci
Aw
Aw
Aw
@@ -37529,27 +37529,27 @@ ak
ZY
ZY
ZY
-BX
-BI
+ys
+HB
il
-BI
+HB
NA
rP
-Ly
-Ly
+ci
+ci
ft
-Ly
-Ly
-Ly
+ci
+ci
+ci
IZ
-Ly
-Ly
+ci
+ci
Vq
pn
-BI
+HB
pT
-BI
-BX
+HB
+ys
ZY
ZY
ZY
@@ -37685,45 +37685,45 @@ am
am
am
am
-WH
-Ly
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-WH
-Ly
-Ly
-WH
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+JA
+ci
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+JA
+ci
+ci
+JA
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -37785,29 +37785,29 @@ ak
ak
ak
ZY
-BX
-BX
-BX
+ys
+ys
+ys
xJ
Pl
-VU
+oI
nr
-Ly
-Ly
+ci
+ci
Vq
-Ly
-Ly
-Ly
+ci
+ci
+ci
rP
-Ly
-Ly
+ci
+ci
nB
sW
Pl
dr
-BX
-BX
-BX
+ys
+ys
+ys
ZY
ak
ak
@@ -37942,45 +37942,45 @@ am
am
am
am
-ka
-WH
-Ly
-WH
-fS
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-WH
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+JA
+ci
+JA
+Lb
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+JA
+AS
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -38042,29 +38042,29 @@ ak
ak
ak
ZY
-BX
-BI
-BI
-BX
-BI
-Ly
-Ly
+ys
+HB
+HB
+ys
+HB
+ci
+ci
nr
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
+ci
+ci
nB
-Ly
-Ly
-BI
-BX
-BI
-BI
-BX
+ci
+ci
+HB
+ys
+HB
+HB
+ys
ZY
ak
ak
@@ -38199,45 +38199,45 @@ am
am
am
am
-ka
-ka
-WH
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+JA
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
ab
Aw
@@ -38299,29 +38299,29 @@ ak
ak
ak
ZY
-BX
-Rl
-BI
-BX
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
-BI
-BX
-BX
+ys
+xH
+HB
+ys
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ys
+HB
+ys
+ys
ZY
ak
ak
@@ -38456,45 +38456,45 @@ am
am
am
am
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -38556,29 +38556,29 @@ ak
ak
ak
ZY
-BX
-Rl
-Ly
-Ly
-rW
+ys
+xH
+ci
+ci
+Zj
GC
Vq
-Ly
-Ly
+ci
+ci
Xc
-Ly
-Ly
-Ly
+ci
+ci
+ci
hF
-Ly
-Ly
+ci
+ci
rP
GC
PF
-Ly
-Ly
-BX
-BX
+ci
+ci
+ys
+ys
ZY
ak
ak
@@ -38733,25 +38733,25 @@ am
am
am
am
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
ab
@@ -38813,29 +38813,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-VU
+ys
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+oI
IZ
-Ly
+ci
ft
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ys
ZY
ak
ak
@@ -38990,25 +38990,25 @@ am
am
am
am
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -39070,13 +39070,13 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
+ci
+ci
+ci
Zs
GC
GC
@@ -39086,13 +39086,13 @@ GC
GC
GC
rb
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ci
+ci
+ci
+ys
ZY
ak
ak
@@ -39247,25 +39247,25 @@ am
am
am
am
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -39327,29 +39327,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
+ys
+ci
+ci
GC
GC
zZ
jC
jC
jC
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
jC
jC
jC
zZ
GC
GC
-Ly
-Ly
-BX
+ci
+ci
+ys
ZY
ak
ak
@@ -39504,25 +39504,25 @@ am
am
am
am
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -39584,29 +39584,29 @@ ak
ak
ak
ZY
-BX
+ys
GO
jC
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
GC
Vq
-Ly
+ci
Vq
-Ly
+ci
rP
GC
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
jC
KB
-BX
+ys
ZY
ak
ak
@@ -39761,25 +39761,25 @@ am
am
am
am
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -39841,29 +39841,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-rW
-Ly
+ys
+ci
+ci
+Zj
+ci
sW
-Ly
-Ly
+ci
+ci
IZ
-Ly
+ci
ft
sW
IZ
-Ly
+ci
ft
-Ly
-Ly
-VU
-Ly
-rW
-Ly
-Ly
-BX
+ci
+ci
+oI
+ci
+Zj
+ci
+ci
+ys
ZY
ak
ak
@@ -40018,25 +40018,25 @@ am
am
am
am
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -40098,29 +40098,29 @@ ak
ak
ak
ZY
-BX
-Ly
+ys
+ci
rP
-Ly
-Ly
-Ly
+ci
+ci
+ci
FL
GC
Ti
-Ly
+ci
ft
-VU
+oI
IZ
-Ly
+ci
or
GC
Ci
-Ly
-Ly
-Ly
+ci
+ci
+ci
Vq
-Ly
-BX
+ci
+ys
ZY
ak
ak
@@ -40275,25 +40275,25 @@ am
am
am
am
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -40355,29 +40355,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-Ly
-VU
-Ly
-Ly
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
+oI
+ci
+ci
+ci
+ci
+ci
ft
sW
IZ
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
sW
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ys
ZY
ak
ak
@@ -40532,25 +40532,25 @@ am
am
am
am
-ka
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -40612,29 +40612,29 @@ ak
ak
ak
ZY
-BX
+ys
sW
GC
-Ly
+ci
ft
-Ly
+ci
SS
ft
sW
-Ly
+ci
ft
-VU
+oI
IZ
-Ly
-VU
+ci
+oI
IZ
SS
-Ly
+ci
IZ
-Ly
+ci
GC
-VU
-BX
+oI
+ys
ZY
ak
ak
@@ -40789,25 +40789,25 @@ ak
am
am
am
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -40869,29 +40869,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
+ys
+ci
+ci
jC
Vq
FL
-Ly
-Ly
+ci
+ci
IZ
-Ly
-Ly
+ci
+ci
sW
-Ly
-Ly
+ci
+ci
ft
-Ly
-Ly
+ci
+ci
Ci
rP
jC
-Ly
-Ly
-BX
+ci
+ci
+ys
ZY
ak
ak
@@ -41046,25 +41046,25 @@ ak
ak
am
am
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
ab
Aw
Aw
@@ -41126,29 +41126,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
MS
-Ly
+ci
jC
GC
Vq
-Ly
-VU
-Ly
+ci
+oI
+ci
sW
-Ly
+ci
rP
GC
jC
-Ly
+ci
AW
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ys
ZY
ZY
ak
@@ -41303,25 +41303,25 @@ ak
ak
ak
am
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
ab
@@ -41383,29 +41383,29 @@ ak
ak
ZY
ZY
-BX
-Ly
-Ly
+ys
+ci
+ci
jC
-Ly
-Ly
-Ly
+ci
+ci
+ci
ft
-Ly
+ci
IQ
-Ly
+ci
SS
-Ly
+ci
td
-Ly
+ci
IZ
-Ly
-Ly
-Ly
+ci
+ci
+ci
jC
-Ly
-Ly
-BX
+ci
+ci
+ys
ZY
ZY
ZY
@@ -41560,25 +41560,25 @@ ak
ak
ak
am
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -41640,29 +41640,29 @@ ak
ak
ZY
ZY
-BX
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
+ci
+ci
+ci
IZ
-Ly
-Ly
+ci
+ci
IZ
-Ly
+ci
ft
-Ly
-Ly
+ci
+ci
ft
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ci
+ci
+ci
+ys
ZY
ZY
ak
@@ -41817,25 +41817,25 @@ ak
ak
ak
am
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -41897,29 +41897,29 @@ ak
ZY
ZY
ZY
-BX
-Ly
+ys
+ci
sW
-Ly
+ci
GC
GC
-Ly
+ci
Ci
-VU
+oI
rP
-Ly
-Ly
-Ly
+ci
+ci
+ci
Vq
sW
hF
-Ly
+ci
GC
GC
-Ly
-VU
-Ly
-BX
+ci
+oI
+ci
+ys
ZY
ZY
ak
@@ -42074,25 +42074,25 @@ ak
ak
ak
am
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -42115,15 +42115,15 @@ aa
aa
aa
aa
-Ad
+ya
gG
pP
kg
RK
gr
hH
-Ly
-Ly
+ci
+ci
Aw
ly
Aw
@@ -42139,44 +42139,44 @@ sW
wr
xE
Gb
-xN
+yS
Gb
Vq
-Ly
+ci
XE
-Ly
-Ly
+ci
+ci
sW
-Ly
-Ly
+ci
+ci
mN
Gb
QO
+Pw
+Pw
ys
-ys
-BX
GC
GC
jC
-Ly
+ci
nB
Vq
rP
-Ly
-VU
-Ly
+ci
+oI
+ci
SS
-Ly
+ci
sW
-Ly
+ci
Vq
rP
nr
-Ly
+ci
jC
GC
GC
-BX
+ys
ZY
ZY
ak
@@ -42331,25 +42331,25 @@ ak
ak
ak
am
-ka
-ka
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+AS
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -42379,8 +42379,8 @@ pH
Ol
ag
le
-Ad
-Ad
+ya
+ya
ls
Aw
Aw
@@ -42392,48 +42392,48 @@ Aw
Aw
Aw
lI
-Ad
-Ad
+ya
+ya
wr
-Ly
-Ly
-VU
-Ly
+ci
+ci
+oI
+ci
sW
-Ly
+ci
Vq
-Ly
+ci
XE
-Ly
-Ly
-Ly
+ci
+ci
+ci
mO
-Ly
+ci
rP
-rW
+Zj
FF
FF
FF
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
+ci
Fv
Zs
GC
rb
vo
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ys
ZY
ZY
ak
@@ -42588,25 +42588,25 @@ ak
ak
ak
am
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -42636,8 +42636,8 @@ gr
gr
gr
gs
-ya
-lp
+vK
+Gq
Eq
Pa
Eq
@@ -42650,24 +42650,24 @@ XU
KO
KO
Eq
-Ad
+ya
hF
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
XE
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
wr
-Ly
-Ly
-Ly
-Ly
-rW
+ci
+ci
+ci
+ci
+Zj
FF
FF
FF
@@ -42676,21 +42676,21 @@ Fv
Zs
vo
rP
-Ly
+ci
Zs
Ti
-Ly
+ci
or
rb
-Ly
+ci
Vq
Xl
rb
vo
rP
-Ly
+ci
sW
-BX
+ys
ZY
ZY
ZY
@@ -42845,25 +42845,25 @@ ak
ak
ak
am
-ka
-WH
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+JA
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -42893,8 +42893,8 @@ kj
HE
HE
lg
-Zj
-md
+ig
+ay
lu
lq
Yo
@@ -42909,45 +42909,45 @@ mk
mn
PF
mF
-Ly
+ci
mG
-Ly
-VU
-Ly
+ci
+oI
+ci
sW
-Ly
-Ly
+ci
+ci
XE
-Ly
-Ly
+ci
+ci
Vq
wd
rP
-Ly
-rW
+ci
+Zj
FF
FF
FF
-Ly
+ci
Zs
PF
Ti
-Ly
+ci
SS
ft
-Ly
+ci
hB
-Ly
+ci
IZ
SS
-Ly
+ci
or
PF
rb
-Ly
-Ly
-rW
-BX
+ci
+ci
+Zj
+ys
ZY
ZY
ZY
@@ -43102,25 +43102,25 @@ ak
ak
ak
am
-ka
-ka
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+AS
+AS
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
Aw
Aw
Aw
@@ -43150,7 +43150,7 @@ ah
gG
gs
gy
-ya
+vK
lr
hx
hx
@@ -43164,47 +43164,47 @@ pS
bc
Qr
bc
-Ad
+ya
IZ
-Ly
-Ly
+ci
+ci
sW
wd
-Ly
-Ly
-Ly
+ci
+ci
+ci
mL
Gb
Gu
-Ly
-Ly
+ci
+ci
rP
-Ly
-Ly
-rW
+ci
+ci
+Zj
FF
FF
FF
-VU
+oI
Xc
Ti
hF
sW
-Ly
+ci
or
rb
-Ly
+ci
Zs
Ti
-Ly
-VU
+ci
+oI
Ci
or
hF
sW
-Ly
+ci
rP
-BX
+ys
ZY
ZY
ZY
@@ -43359,25 +43359,25 @@ ak
ak
ak
ak
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
ab
ab
Aw
@@ -43407,8 +43407,8 @@ Pl
hk
gr
hH
-Ad
-Ad
+ya
+ya
lw
Aw
Aw
@@ -43420,48 +43420,48 @@ Aw
Aw
lw
Aw
-Ad
-Ad
+ya
+ya
Vq
-Ly
-Ly
-Ly
+ci
+ci
+ci
rP
-Ly
+ci
mI
-Ly
-Ly
+ci
+ci
Gb
Gb
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
rP
-rW
+Zj
FF
FF
FF
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
+ci
Xc
or
jC
Ti
hF
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ys
ZY
ZY
ak
@@ -43616,25 +43616,25 @@ ak
ak
ak
ak
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
Aw
Aw
Aw
@@ -43657,15 +43657,15 @@ aa
aa
aa
aa
-Ad
+ya
gr
pP
kl
RK
gG
lj
-Ly
-Ly
+ci
+ci
Aw
Aw
mv
@@ -43682,43 +43682,43 @@ Vq
wr
sW
wr
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
+ci
wd
-xN
+yS
wr
XE
-Ly
-Ly
+ci
+ci
+Pw
+Pw
ys
-ys
-BX
jC
jC
GC
-Ly
+ci
EQ
-VU
+oI
sW
-Ly
+ci
Vq
-Ly
+ci
SS
-Ly
+ci
rP
-Ly
-VU
+ci
+oI
sW
kT
-Ly
+ci
GC
jC
jC
-BX
+ys
ZY
ZY
ak
@@ -43873,25 +43873,25 @@ ak
ak
ak
ak
-ka
-ka
-ka
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
+AS
+AS
+AS
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
Aw
Aw
Aw
@@ -43953,29 +43953,29 @@ ab
mP
ZY
ZY
-BX
-Ly
+ys
+ci
rP
-Ly
+ci
jC
jC
-Ly
+ci
Fv
Vq
sW
-Ly
-Ly
-Ly
-VU
+ci
+ci
+ci
+oI
rP
vo
-Ly
+ci
jC
jC
-Ly
+ci
Vq
-Ly
-BX
+ci
+ys
ZY
ZY
ak
@@ -44130,25 +44130,25 @@ ak
ak
ak
ak
-xN
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
+yS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
Aw
Aw
Aw
@@ -44176,7 +44176,7 @@ gr
gr
gr
jm
-rW
+Zj
ab
ab
ab
@@ -44210,29 +44210,29 @@ al
ZY
ZY
ZY
-BX
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
+ci
+ci
+ci
IZ
-Ly
-Ly
+ci
+ci
IZ
-Ly
+ci
ft
-Ly
-Ly
+ci
+ci
ft
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ci
+ci
+ci
+ys
ZY
ZY
ak
@@ -44387,25 +44387,25 @@ ak
ak
ak
ak
-xN
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+yS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -44467,29 +44467,29 @@ ak
ak
ZY
ZY
-BX
-Ly
-Ly
+ys
+ci
+ci
GC
-Ly
-Ly
-Ly
+ci
+ci
+ci
ft
-Ly
+ci
MS
-Ly
+ci
SS
-Ly
+ci
AW
-Ly
+ci
IZ
-Ly
-Ly
-Ly
+ci
+ci
+ci
GC
-Ly
-Ly
-BX
+ci
+ci
+ys
ZY
ZY
ZY
@@ -44644,25 +44644,25 @@ ak
ak
ak
ak
-xN
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+yS
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
Aw
Aw
Aw
@@ -44724,29 +44724,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
IQ
-Ly
+ci
GC
jC
-VU
-Ly
+oI
+ci
Vq
-Ly
+ci
rP
-Ly
+ci
sW
jC
GC
-Ly
+ci
td
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ys
ZY
ZY
ak
@@ -44901,25 +44901,25 @@ ak
ak
ak
ak
-ka
-ka
-ka
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
+AS
+AS
+AS
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
ab
Aw
Aw
@@ -44981,29 +44981,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
+ys
+ci
+ci
GC
-VU
+oI
yW
-Ly
-Ly
+ci
+ci
IZ
-Ly
-Ly
+ci
+ci
rP
-Ly
-Ly
+ci
+ci
ft
-Ly
-Ly
+ci
+ci
Xl
sW
GC
-Ly
-Ly
-BX
+ci
+ci
+ys
ZY
ak
ak
@@ -45158,25 +45158,25 @@ ak
ak
ak
ak
-ka
-ka
-WH
-Ly
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
+AS
+AS
+JA
+ci
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
Aw
Aw
Aw
@@ -45238,29 +45238,29 @@ ak
ak
ak
ZY
-BX
+ys
rP
jC
-Ly
+ci
ft
-Ly
+ci
SS
ft
rP
-Ly
+ci
ft
-VU
+oI
IZ
-Ly
+ci
Vq
IZ
SS
-Ly
+ci
IZ
-Ly
+ci
jC
Vq
-BX
+ys
ZY
ak
ak
@@ -45415,25 +45415,25 @@ ak
ak
ak
ak
-ka
-ka
-WH
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
+AS
+AS
+JA
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
Aw
Aw
Aw
@@ -45495,29 +45495,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
Vq
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
ft
sW
IZ
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
rP
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ys
ZY
ak
ak
@@ -45672,25 +45672,25 @@ ak
ak
ak
ak
-ka
-ka
-ka
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BI
-BI
+AS
+AS
+AS
+JA
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+HB
+HB
Aw
Aw
Aw
@@ -45752,29 +45752,29 @@ ak
ak
ak
ZY
-BX
-Ly
+ys
+ci
sW
-Ly
-Ly
-Ly
+ci
+ci
+ci
vo
jC
rb
-Ly
+ci
ft
-VU
+oI
IZ
-Ly
+ci
Zs
jC
Xl
-Ly
-Ly
-Ly
-VU
-Ly
-BX
+ci
+ci
+ci
+oI
+ci
+ys
ZY
ak
ak
@@ -45929,25 +45929,25 @@ ak
ak
ak
ak
-xN
-ka
-ka
-ka
-ka
-WH
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-BI
-BI
+yS
+AS
+AS
+AS
+AS
+JA
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+JA
+HB
+HB
Aw
Aw
Aw
@@ -46009,29 +46009,29 @@ ak
ak
ak
ZY
-BX
+ys
rb
-Ly
-rW
-Ly
+ci
+Zj
+ci
rP
-Ly
-Ly
+ci
+ci
IZ
-Ly
+ci
ft
sW
IZ
-Ly
+ci
ft
-Ly
-Ly
+ci
+ci
Vq
-Ly
-rW
-Ly
-Ly
-BX
+ci
+Zj
+ci
+ci
+ys
ZY
ak
ak
@@ -46186,25 +46186,25 @@ ak
ak
ak
ak
-xN
-xN
-ka
-ka
-ka
-WH
-Ly
-WH
-Ly
-WH
-Ly
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-BI
-BI
+yS
+yS
+AS
+AS
+AS
+JA
+ci
+JA
+ci
+JA
+ci
+ci
+ci
+ci
+ci
+JA
+JA
+HB
+HB
Aw
Aw
Aw
@@ -46266,29 +46266,29 @@ ak
ak
ak
ZY
-BX
+ys
uR
GC
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
jC
-VU
-Ly
-VU
-Ly
+oI
+ci
+oI
+ci
sW
jC
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
GC
Vm
-BX
+ys
ZY
ak
ak
@@ -46443,25 +46443,25 @@ ak
ak
ak
ak
-xN
-xN
-ka
-ka
-ka
-ka
-WH
-WH
-Ly
-WH
-WH
-Ly
-Ly
-Ly
-Ly
-WH
-WH
-BI
-BI
+yS
+yS
+AS
+AS
+AS
+AS
+JA
+JA
+ci
+JA
+JA
+ci
+ci
+ci
+ci
+JA
+JA
+HB
+HB
Aw
Aw
Aw
@@ -46523,29 +46523,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
+ys
+ci
+ci
jC
jC
HE
GC
GC
GC
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
GC
GC
GC
HE
jC
jC
-Ly
-Ly
-BX
+ci
+ci
+ys
ZY
ak
ak
@@ -46700,25 +46700,25 @@ ak
ak
ak
ak
-xN
-xN
-xN
-xN
-ka
-ka
-ka
-ka
-WH
-ka
-WH
-Ly
-WH
-Ly
-Ly
-Ly
-WH
-BI
-BI
+yS
+yS
+yS
+yS
+AS
+AS
+AS
+AS
+JA
+AS
+JA
+ci
+JA
+ci
+ci
+ci
+JA
+HB
+HB
Aw
Aw
Aw
@@ -46780,13 +46780,13 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
+ci
+ci
+ci
or
jC
jC
@@ -46796,13 +46796,13 @@ jC
jC
jC
Ti
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ci
+ci
+ci
+ys
ZY
ak
ak
@@ -46957,25 +46957,25 @@ ak
ak
ak
ak
-xN
-xN
-xN
-xN
-xN
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-ka
-WH
-WH
-Ly
-Ly
-BI
-BI
+yS
+yS
+yS
+yS
+yS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+AS
+JA
+JA
+ci
+ci
+HB
+HB
Aw
Aw
Aw
@@ -47037,29 +47037,29 @@ ak
ak
ak
ZY
-BX
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ys
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
IZ
-Ly
+ci
ft
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ys
ZY
ak
ak
@@ -47214,25 +47214,25 @@ ak
ak
ak
ak
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-WH
-WH
-BI
-BI
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+JA
+JA
+HB
+HB
Aw
Aw
Aw
@@ -47294,29 +47294,29 @@ ak
ak
ak
ZY
-BX
-BX
-Ly
-Ly
+ys
+ys
+ci
+ci
qk
jC
-VU
-Ly
-Ly
+oI
+ci
+ci
Fv
-Ly
-Ly
-Ly
+ci
+ci
+ci
vo
-Ly
-Ly
+ci
+ci
sW
jC
wA
-Ly
-Ly
-BX
-BX
+ci
+ci
+ys
+ys
ZY
ak
ak
@@ -47471,25 +47471,25 @@ ak
ak
ak
ak
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-ka
-ka
-ka
-ka
-ka
-ka
-ka
-BI
-BI
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+AS
+AS
+AS
+AS
+AS
+AS
+AS
+HB
+HB
Aw
Aw
Aw
@@ -47551,29 +47551,29 @@ ak
ak
ak
ZY
-BX
-BX
-BI
-BX
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-BX
-BI
-BX
-BX
+ys
+ys
+HB
+ys
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ci
+ys
+HB
+ys
+ys
ZY
ak
ak
@@ -47728,25 +47728,25 @@ ak
ak
ak
ak
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-xN
-ka
-ka
-ka
-BI
-BI
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+yS
+AS
+AS
+AS
+HB
+HB
Aw
Aw
Aw
@@ -47808,29 +47808,29 @@ ak
ak
ak
ZY
-BX
-BI
-BI
-BX
-BI
-Ly
-Ly
+ys
+HB
+HB
+ys
+HB
+ci
+ci
kT
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
-Ly
+ci
+ci
+ci
+ci
+ci
+ci
+ci
nr
-Ly
-Ly
-BI
-BX
-BI
-BI
-BX
+ci
+ci
+HB
+ys
+HB
+HB
+ys
ZY
ak
ak
@@ -48065,29 +48065,29 @@ ak
ak
ak
ZY
-BX
-BX
-BX
+ys
+ys
+ys
ta
pH
Vq
kT
-Ly
-Ly
-VU
-Ly
-Ly
-Ly
+ci
+ci
+oI
+ci
+ci
+ci
sW
-Ly
-Ly
+ci
+ci
nr
rP
pH
Sd
-BX
-BX
-BX
+ys
+ys
+ys
ZY
ak
ak
@@ -48323,27 +48323,27 @@ ak
ZY
ZY
ZY
-BX
-BI
+ys
+HB
il
-BI
+HB
BL
sW
-Ly
-Ly
+ci
+ci
ft
-Ly
-Ly
-Ly
+ci
+ci
+ci
IZ
-Ly
-Ly
-VU
+ci
+ci
+oI
NA
-BI
+HB
zW
-BI
-BX
+HB
+ys
ZY
ZY
ZY
@@ -48580,27 +48580,27 @@ ak
ak
ak
ZY
-BX
-BX
-BI
+ys
+ys
+HB
BL
-BI
+HB
pP
-BI
-Ly
+HB
+ci
PF
-Ly
-Ly
-Ly
+ci
+ci
+ci
qk
-Ly
-BI
+ci
+HB
RK
-BI
+HB
UU
-BI
-BX
-BX
+HB
+ys
+ys
ZY
ak
ak
@@ -48838,25 +48838,25 @@ ak
ZY
ZY
ZY
-BX
-BX
-BI
+ys
+ys
+HB
RJ
jD
-BX
-BX
-BI
-BI
-BI
-BI
-BI
-BX
-BX
+ys
+ys
+HB
+HB
+HB
+HB
+HB
+ys
+ys
sg
hm
-BI
-BX
-BX
+HB
+ys
+ys
ZY
ZY
ZY
@@ -49095,25 +49095,25 @@ ak
ak
ak
ZY
-BX
-BX
-BX
-BI
-BX
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BI
-BX
-BI
-BX
-BX
-BX
+ys
+ys
+ys
+HB
+ys
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+HB
+ys
+HB
+ys
+ys
+ys
ZY
ak
ak
@@ -49354,21 +49354,21 @@ ak
ZY
ZY
ZY
-BX
-BX
-BX
-BI
-BX
-BX
-BI
-BI
-BI
-BX
-BX
-BI
-BX
-BX
-BX
+ys
+ys
+ys
+HB
+ys
+ys
+HB
+HB
+HB
+ys
+ys
+HB
+ys
+ys
+ys
ZY
ZY
ZY
@@ -49613,17 +49613,17 @@ ak
ZY
ZY
ZY
-BX
-BX
-BX
-BX
-BX
-BX
-BX
-BX
-BX
-BX
-BX
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+ys
+ys
ZY
ZY
ZY
diff --git a/_maps/map_files/stations/boxstation.dmm b/_maps/map_files/stations/boxstation.dmm
index 19112541782a..efc65bc62cd3 100644
--- a/_maps/map_files/stations/boxstation.dmm
+++ b/_maps/map_files/stations/boxstation.dmm
@@ -5014,11 +5014,11 @@
/turf/space,
/area/station/engineering/solar/fore_port)
"asc" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"asf" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"asg" = (
@@ -10563,7 +10563,7 @@
/area/station/maintenance/fpmaint)
"aIS" = (
/obj/structure/grille,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"aIT" = (
@@ -11343,7 +11343,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint2)
"aLt" = (
@@ -11807,7 +11807,7 @@
/area/station/maintenance/fsmaint)
"aML" = (
/obj/machinery/atmospherics/pipe/simple/hidden/universal,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"aMM" = (
@@ -12286,7 +12286,7 @@
/turf/simulated/wall,
/area/station/maintenance/fpmaint)
"aOs" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"aOt" = (
@@ -12626,7 +12626,7 @@
},
/area/station/maintenance/fpmaint)
"aPv" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint2)
"aPw" = (
@@ -12859,7 +12859,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint2)
"aQe" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -13220,7 +13220,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"aRm" = (
@@ -14702,7 +14702,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"aVF" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -19981,7 +19981,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"bkE" = (
@@ -21966,7 +21966,7 @@
},
/area/station/service/hydroponics)
"bpW" = (
-/obj/machinery/smartfridge,
+/obj/machinery/smartfridge/food/chef,
/turf/simulated/floor/plating,
/area/station/service/hydroponics)
"bpX" = (
@@ -23207,7 +23207,7 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"btM" = (
@@ -26479,7 +26479,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"bGH" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"bGJ" = (
@@ -33994,7 +33994,7 @@
/turf/simulated/wall,
/area/station/maintenance/asmaint)
"cja" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"cjb" = (
@@ -37463,7 +37463,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cwl" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"cwo" = (
@@ -38034,7 +38034,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/incinerator)
"cyp" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"cyq" = (
@@ -38258,7 +38258,7 @@
/turf/space,
/area/station/engineering/solar/aft_port)
"cyP" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cyQ" = (
@@ -38345,7 +38345,7 @@
/area/station/medical/surgery/secondary)
"cyZ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"czb" = (
@@ -38368,7 +38368,7 @@
},
/area/station/science/hallway)
"czf" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"czg" = (
@@ -38817,7 +38817,7 @@
},
/area/station/medical/storage)
"cAu" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cAv" = (
@@ -38829,7 +38829,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cAz" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cAA" = (
@@ -39003,7 +39003,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/incinerator)
"cBe" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
@@ -40026,7 +40026,7 @@
},
/area/station/maintenance/aft)
"cEE" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"cEH" = (
@@ -41575,7 +41575,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -41937,7 +41937,7 @@
/area/station/engineering/break_room)
"cLN" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cLO" = (
@@ -42378,7 +42378,7 @@
},
/area/station/science/xenobiology)
"cNs" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/structure/cable{
d1 = 1;
@@ -47584,7 +47584,7 @@
/area/station/engineering/ai_transit_tube)
"dge" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"dgg" = (
@@ -51560,7 +51560,7 @@
},
/area/station/command/office/hop)
"dKb" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -52861,7 +52861,7 @@
},
/area/station/engineering/gravitygenerator)
"ejH" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -53993,7 +53993,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
"eOb" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
@@ -54564,7 +54564,7 @@
"fcM" = (
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"fcQ" = (
@@ -56177,7 +56177,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/solar_maintenance/aft_starboard)
"fNM" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -57110,7 +57110,7 @@
},
/area/station/hallway/primary/central/west)
"gmu" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/aft)
"gmz" = (
@@ -58021,7 +58021,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint2)
"gJU" = (
@@ -59489,7 +59489,7 @@
/area/station/security/permabrig)
"htV" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"hug" = (
@@ -59562,7 +59562,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -62606,7 +62606,7 @@
},
/area/station/security/prison/cell_block/A)
"iZV" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/asmaint)
@@ -62832,7 +62832,7 @@
/area/station/security/permabrig)
"jgA" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"jgQ" = (
@@ -65032,7 +65032,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"kju" = (
@@ -66875,7 +66875,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/south)
"lcL" = (
-/obj/effect/spawner/random_barrier/wall_probably,
+/obj/effect/spawner/random/barrier/wall_probably,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"ldf" = (
@@ -73753,7 +73753,7 @@
"oxf" = (
/obj/effect/landmark/burnturf,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"oxp" = (
@@ -74562,7 +74562,7 @@
/area/station/maintenance/disposal)
"oPp" = (
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"oPE" = (
@@ -75205,7 +75205,7 @@
/area/station/service/janitor)
"pfF" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/structure/cable{
d1 = 1;
@@ -75858,7 +75858,7 @@
/area/station/engineering/atmos)
"pxz" = (
/obj/effect/spawner/random/maintenance,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"pxG" = (
@@ -76189,7 +76189,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
"pEO" = (
@@ -76450,7 +76450,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"pNx" = (
@@ -79866,7 +79866,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"rmn" = (
@@ -79933,7 +79933,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/gravitygenerator)
"rng" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"rnx" = (
@@ -80707,7 +80707,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/apmaint2)
"rID" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/asmaint)
@@ -80859,7 +80859,7 @@
},
/area/station/maintenance/asmaint2)
"rNN" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
@@ -83073,7 +83073,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -83646,7 +83646,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint2)
"tmS" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
"tmX" = (
@@ -84294,7 +84294,7 @@
/turf/simulated/floor/engine,
/area/station/engineering/control)
"tEt" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -85495,7 +85495,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"ugC" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"ugH" = (
@@ -85716,7 +85716,7 @@
/area/station/medical/surgery/observation)
"unu" = (
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -86012,7 +86012,7 @@
/area/station/maintenance/apmaint)
"uwi" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/sign/xenobio{
pixel_x = -31
},
@@ -86205,7 +86205,7 @@
/turf/simulated/floor/plating,
/area/station/security/main)
"uBz" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
@@ -86307,7 +86307,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"uEF" = (
@@ -86445,7 +86445,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
@@ -86487,7 +86487,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel,
/area/station/maintenance/fpmaint)
"uKy" = (
@@ -86584,7 +86584,7 @@
/area/station/maintenance/fpmaint)
"uOG" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/aft)
"uPg" = (
@@ -89243,7 +89243,7 @@
"wgA" = (
/obj/effect/landmark/burnturf,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plasteel,
/area/station/maintenance/asmaint)
"wgO" = (
@@ -89439,7 +89439,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"wlJ" = (
@@ -91887,7 +91887,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"xxa" = (
@@ -92575,7 +92575,7 @@
/area/station/engineering/control)
"xOA" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/apmaint)
"xOM" = (
@@ -92878,8 +92878,10 @@
"xUY" = (
/obj/structure/table/glass,
/obj/item/clothing/mask/cigarette/cigar,
-/turf/simulated/floor/light{
- color = "#fff"
+/obj/machinery/light/floor,
+/turf/simulated/floor/plasteel{
+ dir = 1;
+ icon_state = "bluered"
},
/area/station/command/bridge)
"xVe" = (
@@ -93243,7 +93245,7 @@
/area/station/command/office/hop)
"ybL" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"ybN" = (
diff --git a/_maps/map_files/stations/cerestation.dmm b/_maps/map_files/stations/cerestation.dmm
index cb074f101f41..a8806af20dd9 100644
--- a/_maps/map_files/stations/cerestation.dmm
+++ b/_maps/map_files/stations/cerestation.dmm
@@ -3908,7 +3908,7 @@
/turf/simulated/wall,
/area/station/security/range)
"azv" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating{
icon_state = "asteroidplating"
},
@@ -9152,7 +9152,7 @@
/area/station/hallway/spacebridge/dockmed)
"bis" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating{
icon_state = "asteroidplating"
@@ -14163,7 +14163,7 @@
},
/area/station/service/library)
"bGB" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"bGF" = (
@@ -18502,7 +18502,7 @@
/area/station/maintenance/apmaint)
"caX" = (
/obj/effect/spawner/random_spawners/dirt_frequent,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"caY" = (
@@ -33753,10 +33753,6 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"enw" = (
-/obj/machinery/smartfridge/secure{
- name = "\improper Kitchen Delivery SmartFridge";
- req_one_access_txt = "28;35"
- },
/obj/machinery/door/firedoor,
/obj/machinery/door/window/classic/normal{
name = "Kitchen";
@@ -33768,6 +33764,7 @@
/obj/effect/mapping_helpers/airlock/windoor/access/any/service/kitchen{
dir = 1
},
+/obj/machinery/smartfridge/food/chef,
/turf/simulated/floor/plasteel{
icon_state = "neutralfull"
},
@@ -34518,7 +34515,7 @@
/turf/simulated/floor/plating,
/area/station/service/bar)
"ezr" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating{
icon_state = "asteroidplating"
},
@@ -34674,7 +34671,7 @@
/turf/simulated/floor/plating,
/area/station/command/office/hos)
"eBq" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating{
icon_state = "asteroidplating"
},
@@ -37351,7 +37348,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/disposal/north)
"fsV" = (
-/obj/effect/spawner/random_barrier/wall_probably,
+/obj/effect/spawner/random/barrier/wall_probably,
/turf/simulated/floor/plating/asteroid/ancient,
/area/station/maintenance/starboard)
"fsW" = (
@@ -40508,7 +40505,7 @@
/turf/simulated/floor/plasteel/freezer,
/area/station/service/kitchen)
"gsr" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"gsx" = (
@@ -40533,7 +40530,7 @@
pixel_y = -24;
pixel_x = -32
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating{
icon_state = "asteroidplating"
},
@@ -43001,7 +42998,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"hgx" = (
@@ -48895,7 +48892,7 @@
/area/station/hallway/primary/fore/east)
"iJM" = (
/obj/effect/spawner/random_spawners/dirt_frequent,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"iJY" = (
@@ -53231,7 +53228,7 @@
/area/station/science/xenobiology)
"jNU" = (
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating{
icon_state = "asteroidplating"
},
@@ -61689,7 +61686,7 @@
},
/area/station/science/robotics)
"mmv" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating{
icon_state = "asteroidplating"
},
@@ -69164,7 +69161,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/port2)
"oyh" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plasteel,
/area/station/maintenance/starboard)
"oyo" = (
@@ -80857,7 +80854,7 @@
/turf/simulated/wall,
/area/station/public/toilet)
"rNW" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating/asteroid/ancient,
/area/station/maintenance/fsmaint)
"rOc" = (
@@ -81349,7 +81346,7 @@
/turf/simulated/floor/wood,
/area/station/service/bar)
"rVD" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating{
icon_state = "asteroidplating"
},
@@ -95555,7 +95552,7 @@
/area/station/public/storage/tools)
"vPd" = (
/obj/effect/decal/cleanable/glass,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"vPj" = (
@@ -101195,7 +101192,7 @@
},
/area/station/hallway/primary/port/north)
"xrI" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating/asteroid/ancient,
/area/station/maintenance/starboard)
"xrN" = (
@@ -101862,7 +101859,7 @@
},
/area/station/science/misc_lab)
"xAK" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"xAO" = (
@@ -102194,7 +102191,7 @@
},
/area/station/command/teleporter)
"xEX" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating/asteroid/ancient,
/area/station/maintenance/asmaint)
"xEZ" = (
diff --git a/_maps/map_files/stations/deltastation.dmm b/_maps/map_files/stations/deltastation.dmm
index cbe1e90d2448..e2cfdca8fa92 100644
--- a/_maps/map_files/stations/deltastation.dmm
+++ b/_maps/map_files/stations/deltastation.dmm
@@ -5944,7 +5944,7 @@
},
/area/station/maintenance/fore)
"ayr" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"ays" = (
@@ -10790,7 +10790,7 @@
/area/station/maintenance/fore)
"aLC" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -16524,7 +16524,7 @@
},
/area/station/maintenance/fore)
"baD" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -18993,7 +18993,6 @@
},
/area/station/hallway/primary/fore/south)
"bhH" = (
-/obj/machinery/smartfridge,
/obj/effect/mapping_helpers/airlock/windoor/access/all/service/hydroponics{
dir = 8
},
@@ -19004,6 +19003,7 @@
/obj/effect/mapping_helpers/airlock/windoor/access/any/service/kitchen{
dir = 8
},
+/obj/machinery/smartfridge/food/chef,
/turf/simulated/floor/plasteel,
/area/station/service/kitchen)
"bhI" = (
@@ -30985,7 +30985,7 @@
/turf/space,
/area/space/nearstation)
"bLN" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"bLO" = (
@@ -31726,7 +31726,7 @@
icon_state = "1-2"
},
/obj/effect/spawner/random_spawners/blood_often,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"bNI" = (
@@ -35464,7 +35464,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/control)
"bYa" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
@@ -57051,7 +57051,13 @@
},
/area/station/science/genetics)
"dnW" = (
-/turf/simulated/floor/light,
+/obj/machinery/atmospherics/pipe/simple/visible{
+ dir = 4
+ },
+/obj/machinery/light/floor,
+/turf/simulated/floor/plasteel{
+ icon_state = "neutralfull"
+ },
/area/station/engineering/atmos)
"dnX" = (
/obj/structure/chair/sofa/left{
@@ -65678,7 +65684,7 @@
},
/area/station/medical/surgery/primary)
"eHp" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"eHD" = (
@@ -68854,8 +68860,8 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"gyp" = (
@@ -70377,7 +70383,7 @@
/turf/simulated/floor/wood,
/area/station/maintenance/library)
"huq" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"huN" = (
@@ -73315,7 +73321,7 @@
},
/area/station/engineering/atmos)
"jhk" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"jhr" = (
@@ -75067,7 +75073,7 @@
dir = 4
},
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"kju" = (
@@ -76716,7 +76722,7 @@
/turf/simulated/floor/plating,
/area/station/science/server)
"llm" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutral"
@@ -77319,7 +77325,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/hardsuitstorage)
"lAG" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"lAO" = (
@@ -77657,7 +77663,7 @@
},
/area/station/hallway/secondary/entry/south)
"lMM" = (
-/obj/effect/spawner/random_barrier/wall_probably,
+/obj/effect/spawner/random/barrier/wall_probably,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"lNF" = (
@@ -77758,7 +77764,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/control)
"lQl" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"lQs" = (
@@ -79111,7 +79117,7 @@
/turf/simulated/floor/plating,
/area/station/science/toxins/launch)
"mHK" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/structure/barricade/wooden,
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/simulated/floor/plating,
@@ -82301,7 +82307,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"osF" = (
@@ -85188,6 +85194,12 @@
/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
+"pXV" = (
+/obj/machinery/light/floor,
+/turf/simulated/floor/plasteel{
+ icon_state = "neutralfull"
+ },
+/area/station/engineering/atmos)
"pYb" = (
/obj/structure/flora/grass/jungle,
/turf/simulated/floor/plating,
@@ -88507,10 +88519,11 @@
/turf/simulated/floor/carpet,
/area/station/science/robotics/showroom)
"rUU" = (
-/obj/machinery/atmospherics/pipe/simple/visible{
- dir = 4
+/obj/machinery/atmospherics/pipe/simple/visible,
+/obj/machinery/light/floor,
+/turf/simulated/floor/plasteel{
+ icon_state = "neutralfull"
},
-/turf/simulated/floor/light,
/area/station/engineering/atmos)
"rVB" = (
/obj/structure/table/reinforced,
@@ -92922,7 +92935,7 @@
/turf/simulated/floor/plasteel/grimy,
/area/station/service/chapel/office)
"ugI" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"ugQ" = (
@@ -124154,11 +124167,11 @@ aSD
iYX
aVF
ban
-dnW
+ban
tNx
lth
fgF
-dnW
+ban
wKG
lfU
aYt
@@ -124668,12 +124681,12 @@ aSD
aUc
aVF
ban
+pXV
ban
ban
ban
ban
-ban
-jgG
+dnW
ban
biQ
bkC
@@ -125953,11 +125966,11 @@ aSD
aUc
aVF
jgG
-rUU
+jgG
iUf
iUf
iUf
-dnW
+ban
nae
ban
aZm
@@ -126467,12 +126480,12 @@ aSH
aUd
aVF
jVW
+rUU
beJ
beJ
beJ
beJ
-beJ
-beJ
+rUU
bhk
biU
bkJ
diff --git a/_maps/map_files/stations/emeraldstation.dmm b/_maps/map_files/stations/emeraldstation.dmm
index dd9bf7943318..149dc06e9d84 100644
--- a/_maps/map_files/stations/emeraldstation.dmm
+++ b/_maps/map_files/stations/emeraldstation.dmm
@@ -971,7 +971,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/fore)
@@ -3777,7 +3777,7 @@
},
/area/station/maintenance/apmaint)
"aMQ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -4325,7 +4325,7 @@
/turf/simulated/floor/wood,
/area/station/service/library)
"aRD" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/dorms/fore)
"aRO" = (
@@ -5120,7 +5120,7 @@
},
/area/station/turret_protected/ai)
"aYL" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -5693,7 +5693,7 @@
},
/area/station/supply/expedition)
"beq" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -6618,7 +6618,7 @@
},
/area/station/service/hydroponics)
"bmZ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"bnc" = (
@@ -6964,7 +6964,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"bpT" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
@@ -7364,7 +7364,7 @@
"btt" = (
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/junction{
dir = 1
@@ -9896,7 +9896,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"bPz" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/starboard)
"bPA" = (
@@ -10429,7 +10429,7 @@
},
/area/station/science/break_room)
"bTR" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/aft2)
@@ -11166,7 +11166,7 @@
},
/area/station/engineering/gravitygenerator)
"cbp" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/contraband/random{
pixel_x = 32
@@ -12092,7 +12092,7 @@
/turf/simulated/floor/wood,
/area/station/maintenance/apmaint2)
"ckV" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -12150,7 +12150,7 @@
/area/station/maintenance/asmaint)
"cly" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/hallway/primary/central/ne)
"clF" = (
@@ -12275,7 +12275,7 @@
},
/area/station/medical/virology)
"cmE" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -13165,7 +13165,7 @@
/turf/simulated/floor/plasteel,
/area/station/public/storage/tools/auxiliary)
"cvT" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -13698,7 +13698,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/aft)
"cBD" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
"cBH" = (
@@ -13818,7 +13818,7 @@
/turf/simulated/floor/engine,
/area/station/engineering/engine)
"cCG" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/dorms/fore)
@@ -15059,7 +15059,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"cPy" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/dorms/starboard)
@@ -15121,7 +15121,7 @@
},
/area/station/science/research)
"cPS" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/structure/cable{
@@ -18736,7 +18736,7 @@
/area/station/hallway/primary/central/se)
"dzk" = (
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_starboard)
"dzA" = (
@@ -18788,7 +18788,7 @@
},
/area/station/service/kitchen)
"dAe" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -19318,7 +19318,7 @@
/turf/simulated/floor/engine,
/area/station/engineering/engine)
"dEV" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -20286,7 +20286,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/north)
"dOx" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/alarm/directional/east,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
@@ -20703,7 +20703,7 @@
},
/area/station/public/shops)
"dTb" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -22016,7 +22016,7 @@
/turf/simulated/floor/wood,
/area/station/public/dorms)
"ehO" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -22237,7 +22237,7 @@
},
/area/station/security/processing)
"ejV" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -23749,7 +23749,7 @@
/turf/simulated/floor/carpet,
/area/station/command/office/hop)
"eyo" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
@@ -26158,7 +26158,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"eVV" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -26391,7 +26391,7 @@
},
/area/station/medical/virology)
"eYc" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -26757,7 +26757,7 @@
/area/station/engineering/atmos)
"faA" = (
/obj/effect/decal/cleanable/glass,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
@@ -29431,7 +29431,7 @@
/turf/simulated/floor/wood,
/area/station/service/clown)
"fxy" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"fxz" = (
@@ -30095,7 +30095,7 @@
/turf/simulated/floor/wood,
/area/station/security/permabrig)
"fEp" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -30198,7 +30198,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
"fFW" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/spawner/lootdrop{
loot = list(/obj/item/cigbutt,/obj/item/trash/cheesie,/obj/item/trash/candy,/obj/item/trash/chips,/obj/item/trash/pistachios,/obj/item/trash/plate,/obj/item/trash/popcorn,/obj/item/trash/raisins,/obj/item/trash/sosjerky,/obj/item/trash/syndi_cakes);
name = "trash spawner"
@@ -30318,7 +30318,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/west)
"fGG" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -30478,7 +30478,7 @@
/turf/space,
/area/station/engineering/solar/aft_starboard)
"fIk" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"fIl" = (
@@ -30789,7 +30789,7 @@
/turf/simulated/floor/wood,
/area/station/public/vacant_office)
"fKS" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -31292,7 +31292,7 @@
},
/area/station/security/permabrig)
"fOz" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -32794,7 +32794,7 @@
},
/area/station/public/dorms)
"gez" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/generic,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
@@ -33513,7 +33513,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/sign/poster/contraband/random{
pixel_y = -32
@@ -35784,7 +35784,7 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/port)
"gHn" = (
@@ -36402,7 +36402,7 @@
},
/area/station/security/prison/cell_block)
"gNy" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
@@ -36954,7 +36954,7 @@
},
/area/station/medical/storage/secondary)
"gTE" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/starboard)
"gTI" = (
@@ -37299,7 +37299,7 @@
},
/area/station/legal/lawoffice)
"gWM" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 2;
@@ -37482,7 +37482,7 @@
/turf/simulated/floor/grass/no_creep,
/area/station/medical/virology)
"gYD" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"gYF" = (
@@ -37865,7 +37865,7 @@
/turf/simulated/floor/plating/airless,
/area/station/turret_protected/aisat/interior)
"hbO" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -37948,7 +37948,7 @@
d2 = 8;
icon_state = "1-8"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
@@ -38440,7 +38440,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/control)
"hhe" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel{
icon_state = "redyellowfull"
},
@@ -40150,7 +40150,7 @@
/turf/simulated/floor/engine/xenobio,
/area/station/science/xenobiology)
"hwR" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/starboard)
@@ -44146,7 +44146,7 @@
/turf/simulated/floor/carpet,
/area/station/legal/courtroom)
"ijv" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"ijw" = (
@@ -44166,7 +44166,7 @@
/turf/simulated/floor/plasteel,
/area/station/supply/storage)
"ijF" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_starboard)
@@ -46228,7 +46228,7 @@
/turf/simulated/floor/plating,
/area/station/security/permabrig)
"iEr" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/spawner/random_spawners/oil_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
@@ -46596,7 +46596,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/control)
"iHn" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"iHq" = (
@@ -46883,7 +46883,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/dorms/port)
@@ -47626,7 +47626,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"iQH" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -48123,7 +48123,7 @@
/turf/simulated/floor/carpet/arcade,
/area/station/public/arcade)
"iVl" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint2)
"iVu" = (
@@ -51208,7 +51208,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/hallway/primary/central/ne)
"jzG" = (
@@ -51319,7 +51319,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"jAl" = (
@@ -51329,7 +51329,7 @@
/turf/simulated/floor/grass,
/area/station/hallway/secondary/exit)
"jAv" = (
-/obj/effect/spawner/random_barrier/wall_probably,
+/obj/effect/spawner/random/barrier/wall_probably,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -51981,7 +51981,7 @@
},
/area/station/science/storage)
"jFM" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 8;
@@ -52261,7 +52261,7 @@
/obj/structure/sign/poster/contraband/random{
pixel_x = -32
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint2)
"jIn" = (
@@ -52427,7 +52427,7 @@
},
/area/station/security/evidence)
"jJF" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
@@ -53111,7 +53111,7 @@
/obj/structure/sign/poster/contraband/random{
pixel_y = 32
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_port)
@@ -53538,7 +53538,7 @@
/turf/simulated/floor/carpet,
/area/station/hallway/secondary/entry/lounge)
"jUP" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
@@ -53742,7 +53742,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint2)
"jWA" = (
@@ -54523,7 +54523,7 @@
},
/area/station/maintenance/apmaint)
"kdV" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -55562,7 +55562,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/fore)
"koz" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/starboard)
@@ -55679,7 +55679,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 9
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/landmark/damageturf,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_starboard)
@@ -57185,7 +57185,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
"kFs" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -57601,7 +57601,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
@@ -58337,7 +58337,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"kQk" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
@@ -58358,7 +58358,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/fsmaint)
"kQw" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -58547,7 +58547,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/atmos)
"kRC" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{
dir = 1
},
@@ -59715,7 +59715,7 @@
},
/area/station/turret_protected/ai)
"lfn" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
@@ -60394,7 +60394,7 @@
},
/area/station/security/prison/cell_block)
"llN" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/port)
"llQ" = (
@@ -61423,7 +61423,7 @@
/turf/simulated/floor/plating,
/area/station/science/toxins/mixing)
"lvf" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"lvl" = (
@@ -61861,7 +61861,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/apmaint)
"lyU" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/structure/disposalpipe/segment,
@@ -62027,7 +62027,7 @@
},
/area/station/supply/lobby)
"lzK" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -62558,7 +62558,7 @@
},
/area/station/engineering/atmos)
"lEX" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/starboard)
"lFb" = (
@@ -63371,7 +63371,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_starboard)
"lOB" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -63958,7 +63958,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
"lVm" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -64614,7 +64614,7 @@
/area/station/public/dorms)
"mcn" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel,
/area/station/maintenance/fpmaint)
"mct" = (
@@ -65901,7 +65901,7 @@
d2 = 4;
icon_state = "2-4"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
@@ -66103,7 +66103,7 @@
/turf/simulated/floor/wood,
/area/station/public/vacant_office)
"mqJ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -67592,7 +67592,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
"mGi" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -67735,7 +67735,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/ne)
"mIg" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -69558,7 +69558,7 @@
/turf/simulated/floor/plasteel,
/area/station/command/teleporter)
"mZE" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/ne)
"mZK" = (
@@ -69953,7 +69953,7 @@
},
/area/station/hallway/primary/central/sw)
"ndJ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/landmark/burnturf,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
@@ -70343,7 +70343,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/hardsuitstorage)
"ngX" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
@@ -72280,7 +72280,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/atmos)
"nzv" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/structure/barricade/wooden,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
@@ -72521,7 +72521,7 @@
/turf/simulated/floor/plasteel,
/area/station/public/storage/tools/auxiliary)
"nBB" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/disposalpipe/segment{
dir = 4
@@ -72910,7 +72910,7 @@
},
/area/station/supply/lobby)
"nFE" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/fore)
"nFI" = (
@@ -74055,7 +74055,7 @@
},
/area/station/medical/medbay)
"nOx" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -76212,7 +76212,7 @@
/turf/simulated/floor/plating,
/area/station/service/chapel/funeral)
"ohZ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_starboard)
"oic" = (
@@ -76879,7 +76879,7 @@
},
/area/station/public/sleep)
"oni" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -77473,7 +77473,7 @@
},
/area/station/service/kitchen)
"osB" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
@@ -78964,8 +78964,8 @@
},
/area/station/security/prisonershuttle)
"oIR" = (
-/obj/machinery/smartfridge,
/obj/machinery/door/firedoor,
+/obj/machinery/smartfridge/food/chef,
/turf/simulated/floor/plasteel,
/area/station/service/hydroponics)
"oIU" = (
@@ -79100,7 +79100,7 @@
/turf/simulated/floor/lava/plasma/fuming,
/area/station/engineering/atmos/asteroid_core)
"oKb" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -79648,7 +79648,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/south)
"oNO" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/blood/drip,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
@@ -80948,7 +80948,7 @@
/turf/simulated/floor/carpet,
/area/station/security/detective)
"oYL" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
@@ -81150,7 +81150,7 @@
},
/area/station/science/xenobiology)
"pav" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/sign/poster/contraband/random{
pixel_y = 32
},
@@ -81577,7 +81577,7 @@
},
/area/station/service/kitchen)
"peH" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/structure/disposalpipe/segment,
@@ -81786,7 +81786,7 @@
},
/area/station/hallway/primary/fore/north)
"pgk" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -81824,7 +81824,7 @@
/turf/simulated/floor/plating,
/area/station/engineering/ai_transit_tube)
"pgr" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -83187,7 +83187,7 @@
/turf/simulated/floor/carpet,
/area/station/hallway/primary/central/se)
"puz" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
@@ -83658,7 +83658,7 @@
/obj/structure/sign/poster/contraband/random{
pixel_y = 32
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_port)
"pAf" = (
@@ -84720,7 +84720,7 @@
/turf/simulated/floor/plating,
/area/station/aisat/service)
"pIP" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"pIU" = (
@@ -85185,7 +85185,7 @@
},
/area/station/turret_protected/aisat/interior)
"pMM" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -85218,7 +85218,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/starboard)
"pNl" = (
@@ -86357,7 +86357,7 @@
/turf/simulated/floor/wood,
/area/station/service/bar)
"pZQ" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"pZU" = (
@@ -86520,7 +86520,7 @@
},
/area/station/legal/courtroom)
"qbz" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_port)
"qbZ" = (
@@ -87200,7 +87200,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"qib" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
@@ -87893,7 +87893,7 @@
"qpR" = (
/obj/effect/decal/cleanable/shreds,
/obj/item/airlock_electronics/destroyed,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -90240,7 +90240,7 @@
/turf/simulated/floor/wood,
/area/station/maintenance/aft2)
"qMW" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -90818,7 +90818,7 @@
/turf/simulated/wall,
/area/station/maintenance/aft)
"qTH" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
"qTK" = (
@@ -91399,7 +91399,7 @@
/turf/simulated/floor/plating,
/area/station/security/warden)
"qYA" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -92395,7 +92395,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 8
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -93876,7 +93876,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/port)
"ruB" = (
@@ -94025,7 +94025,7 @@
},
/area/station/public/shops)
"rvy" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"rvz" = (
@@ -95512,7 +95512,7 @@
},
/area/station/science/storage)
"rKe" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -95599,7 +95599,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"rKO" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/apmaint2)
@@ -98823,7 +98823,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
"snP" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -99665,7 +99665,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"sww" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint2)
@@ -100254,7 +100254,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/apmaint2)
"sBB" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint2)
@@ -101247,7 +101247,7 @@
/turf/simulated/floor/plasteel,
/area/station/command/office/ce)
"sKI" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -101929,7 +101929,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"sRI" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/aft2)
"sRJ" = (
@@ -102079,7 +102079,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"sTJ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -102293,7 +102293,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft2)
"sVz" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -103652,7 +103652,7 @@
},
/area/station/supply/storage)
"thk" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -104956,7 +104956,7 @@
/turf/simulated/floor/engine/xenobio,
/area/station/science/xenobiology)
"tsp" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
@@ -105246,7 +105246,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint2)
"tuC" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
@@ -106047,7 +106047,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/atmos)
"tEl" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -106463,7 +106463,7 @@
/turf/simulated/floor/grass,
/area/station/security/permabrig)
"tIC" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"tID" = (
@@ -106864,7 +106864,7 @@
},
/area/station/medical/cloning)
"tLi" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"tLr" = (
@@ -106914,7 +106914,7 @@
},
/area/station/telecomms/computer)
"tMm" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_port)
"tMn" = (
@@ -107426,7 +107426,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/dorms/starboard)
"tSJ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -107797,7 +107797,7 @@
/turf/simulated/floor/plating,
/area/station/engineering/engine)
"tVF" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/starboard)
@@ -108136,7 +108136,7 @@
/area/station/medical/cloning)
"tYb" = (
/obj/effect/landmark/damageturf,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -108211,7 +108211,7 @@
},
/area/station/public/dorms)
"tYI" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -109559,7 +109559,7 @@
},
/area/station/hallway/secondary/entry/lounge)
"ulr" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -109614,7 +109614,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"umn" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -109747,7 +109747,7 @@
},
/area/station/service/theatre)
"unV" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -109887,7 +109887,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
"uph" = (
@@ -111196,7 +111196,7 @@
},
/area/station/hallway/primary/central/ne)
"uBC" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/sign/poster/contraband/random{
pixel_y = 32
},
@@ -111598,7 +111598,7 @@
/turf/simulated/floor/plasteel,
/area/station/supply/miningdock)
"uFA" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft2)
"uFC" = (
@@ -111914,7 +111914,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/entry/east)
"uHL" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -113195,7 +113195,7 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/dorms/starboard)
"uTQ" = (
@@ -113955,7 +113955,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/storage)
"vbP" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plasteel,
/area/station/maintenance/aft)
"vbS" = (
@@ -114320,7 +114320,7 @@
/turf/simulated/floor/grass,
/area/station/hallway/secondary/exit)
"vfZ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
icon_state = "redyellowfull"
},
@@ -115842,7 +115842,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/entry/east)
"vuF" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/fore)
@@ -117045,7 +117045,7 @@
},
/area/station/security/checkpoint/secondary)
"vGd" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -117880,7 +117880,7 @@
},
/area/station/service/hydroponics)
"vMJ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -120619,7 +120619,7 @@
},
/area/station/service/bar)
"wno" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_port)
@@ -120862,7 +120862,7 @@
},
/area/station/medical/sleeper)
"woU" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -120972,7 +120972,7 @@
},
/area/station/maintenance/asmaint)
"wpY" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/decorations/sticky_decorations/flammable/tinsel/halloween{
pixel_y = 20
},
@@ -121966,7 +121966,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"wCd" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -122383,7 +122383,7 @@
},
/area/station/medical/virology)
"wHk" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/aft)
"wHn" = (
@@ -122565,7 +122565,7 @@
},
/area/station/engineering/atmos/transit)
"wJj" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/port)
@@ -123067,7 +123067,7 @@
},
/area/station/science/genetics)
"wNQ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 1;
@@ -123410,7 +123410,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/incinerator)
"wQC" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -124025,7 +124025,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"wXp" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/security/aft_starboard)
"wXr" = (
@@ -124459,7 +124459,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"xbZ" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
"xcb" = (
@@ -124792,7 +124792,7 @@
/turf/simulated/floor/engine,
/area/station/engineering/engine)
"xfz" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -125987,7 +125987,7 @@
},
/area/station/security/permabrig)
"xqe" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -126124,7 +126124,7 @@
/area/station/maintenance/dorms/starboard)
"xrb" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -127173,7 +127173,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/dorms/starboard)
"xBo" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"xBs" = (
@@ -127361,7 +127361,7 @@
/obj/structure/sign/poster/contraband/random{
pixel_y = 32
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/obj/structure/cable{
d1 = 4;
@@ -128009,7 +128009,7 @@
/turf/simulated/floor/engine,
/area/station/engineering/engine)
"xJV" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -128319,7 +128319,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/security/fore)
@@ -128352,7 +128352,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"xNz" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/sign/poster/contraband/random{
pixel_y = 32
},
@@ -128917,7 +128917,7 @@
/turf/simulated/floor/grass,
/area/station/hallway/secondary/exit)
"xTH" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
diff --git a/_maps/map_files/stations/metastation.dmm b/_maps/map_files/stations/metastation.dmm
index fe30422ae557..6a69edd21d26 100644
--- a/_maps/map_files/stations/metastation.dmm
+++ b/_maps/map_files/stations/metastation.dmm
@@ -2222,7 +2222,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"aqO" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
@@ -3202,7 +3202,7 @@
/turf/simulated/wall,
/area/station/public/mrchangs)
"avs" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft2)
"avv" = (
@@ -4095,7 +4095,7 @@
},
/area/station/command/office/captain/bedroom)
"ayk" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"ayr" = (
@@ -4415,7 +4415,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -4541,7 +4541,7 @@
},
/area/station/public/dorms)
"aAf" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
@@ -5808,7 +5808,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/starboard2)
"aFM" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -6829,7 +6829,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/fore/north)
"aJl" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"aJm" = (
@@ -7334,7 +7334,7 @@
/turf/simulated/floor/plating,
/area/station/engineering/atmos/distribution)
"aLc" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -7880,7 +7880,7 @@
/turf/simulated/floor/wood,
/area/station/service/clown)
"aMB" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -32592,7 +32592,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -35823,7 +35823,7 @@
/turf/simulated/wall,
/area/station/maintenance/asmaint)
"cAP" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard2)
"cAS" = (
@@ -42415,7 +42415,7 @@
/area/station/maintenance/starboard)
"dcC" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"dcD" = (
@@ -44465,7 +44465,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/exit)
"dHr" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"dHE" = (
@@ -48595,7 +48595,7 @@
},
/area/station/security/range)
"fuy" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"fuC" = (
@@ -55662,7 +55662,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/control)
"iot" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"ioy" = (
@@ -56974,7 +56974,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"iRX" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -58414,7 +58414,7 @@
/turf/space,
/area/space/nearstation)
"jEA" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard2)
"jEC" = (
@@ -65301,7 +65301,7 @@
/turf/simulated/floor/plasteel,
/area/station/supply/lobby)
"msw" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/aft2)
"msD" = (
@@ -67455,7 +67455,7 @@
/turf/simulated/floor/plasteel,
/area/station/supply/office)
"niC" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel{
icon_state = "neutralfull"
},
@@ -70764,7 +70764,7 @@
/turf/simulated/floor/plasteel,
/area/station/science/robotics)
"oNn" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard2)
@@ -73032,7 +73032,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"pHF" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/xenobio_south)
"pHM" = (
@@ -74342,7 +74342,7 @@
/turf/simulated/floor/engine,
/area/station/engineering/control)
"qiP" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -75166,7 +75166,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"qyW" = (
@@ -77627,7 +77627,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"rCD" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"rDd" = (
@@ -78729,7 +78729,7 @@
/area/station/engineering/atmos/distribution)
"rXf" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel,
/area/station/maintenance/fsmaint)
"rXj" = (
@@ -81082,7 +81082,7 @@
},
/area/station/hallway/primary/aft/north)
"sZV" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -83635,7 +83635,7 @@
},
/area/station/security/main)
"uhI" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/fore)
"uhJ" = (
@@ -86647,7 +86647,7 @@
/turf/simulated/floor/plating,
/area/station/security/execution)
"vxx" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"vxI" = (
@@ -87235,7 +87235,7 @@
/turf/simulated/floor/wood,
/area/station/legal/courtroom)
"vOJ" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -87891,7 +87891,7 @@
/turf/simulated/floor/plasteel,
/area/station/science/toxins/mixing)
"wfa" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"wfs" = (
@@ -89005,7 +89005,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/central/east)
"wFC" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"wFW" = (
@@ -89285,7 +89285,7 @@
/turf/space,
/area/space/nearstation)
"wPS" = (
-/obj/machinery/smartfridge,
+/obj/machinery/smartfridge/food/chef,
/obj/machinery/door/window/classic/normal{
name = "Anti-Theft Shield";
dir = 1
@@ -91584,7 +91584,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"xNa" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -92334,7 +92334,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"yaL" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/effect/decal/cleanable/blood/writing{
dir = 8
},
diff --git a/_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm
index 8f8ca8d06d9a..ea87acb0a880 100644
--- a/_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm
+++ b/_maps/map_files220/RandomRuins/SpaceRuins/spacehotel.dmm
@@ -6894,7 +6894,7 @@
/turf/simulated/floor/plasteel/dark,
/area/ruin/space/spacehotelv1/forehallway)
"XK" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/ruin/space/spacehotelv1/engi1)
"XP" = (
diff --git a/_maps/map_files220/RandomZLevels/caves.dmm b/_maps/map_files220/RandomZLevels/caves.dmm
index b3997b4aac6c..f7271e502741 100644
--- a/_maps/map_files220/RandomZLevels/caves.dmm
+++ b/_maps/map_files220/RandomZLevels/caves.dmm
@@ -872,7 +872,7 @@
/turf/simulated/floor/carpet/purple,
/area/awaymission/caves/build/reqpower_build)
"dX" = (
-/turf/simulated/floor/plating/asteroid/airless/cave/volcanic,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/awaymission/caves)
"ea" = (
/mob/living/simple_animal/hostile/asteroid/hivelord{
@@ -8153,7 +8153,7 @@
/area/awaymission/caves)
"RX" = (
/obj/machinery/hydroponics/soil,
-/turf/simulated/floor/plating/asteroid/airless/cave/volcanic,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/awaymission/caves)
"RY" = (
/turf/simulated/floor/plasteel/lavaland_air,
@@ -8315,7 +8315,7 @@
"SV" = (
/obj/structure/sink/puddle,
/obj/item/reagent_containers/glass/bucket/wooden,
-/turf/simulated/floor/plating/asteroid/airless/cave/volcanic,
+/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/awaymission/caves)
"SX" = (
/obj/machinery/power/smes,
diff --git a/_maps/map_files220/RandomZLevels/gate_lizard.dmm b/_maps/map_files220/RandomZLevels/gate_lizard.dmm
index 5500d67d2d58..f0aeca59d16c 100644
--- a/_maps/map_files220/RandomZLevels/gate_lizard.dmm
+++ b/_maps/map_files220/RandomZLevels/gate_lizard.dmm
@@ -15,7 +15,7 @@
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/inside/complex)
"aaN" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard,
/obj/effect/decal/cleanable/glass,
/turf/simulated/floor/plating,
@@ -1708,7 +1708,7 @@
},
/area/awaymission/jungle_planet/inside/complex)
"cmE" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard,
/obj/machinery/atmospherics/pipe/simple/hidden,
/turf/simulated/floor/plating,
@@ -2277,7 +2277,7 @@
},
/area/awaymission/jungle_planet/inside/complex)
"cVe" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/stack/rods,
/obj/item/shard{
icon_state = "small"
@@ -4026,7 +4026,7 @@
},
/area/awaymission/jungle_planet/outside/cave/pirate)
"fqK" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard{
icon_state = "small"
},
@@ -4191,7 +4191,7 @@
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside/waterfall)
"fCt" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard{
icon_state = "small"
},
@@ -4735,7 +4735,7 @@
/obj/item/shard{
icon_state = "medium"
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside/abandoned)
"gop" = (
@@ -5022,7 +5022,7 @@
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside)
"gKv" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/door/poddoor/shutters{
dir = 2;
id_tag = "CMDgate"
@@ -5461,7 +5461,7 @@
},
/area/awaymission/jungle_planet/inside/complex)
"hkE" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard,
/obj/effect/decal/cleanable/glass,
/turf/simulated/floor/plating,
@@ -6896,7 +6896,7 @@
},
/area/awaymission/jungle_planet/inside/complex)
"iXz" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard,
/obj/item/stack/rods{
amount = 2
@@ -6945,7 +6945,7 @@
/turf/simulated/floor/plating,
/area/awaymission/jungle_planet/outside/river)
"jaD" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/shard{
icon_state = "small"
},
@@ -7048,7 +7048,7 @@
/turf/simulated/floor/plating,
/area/awaymission/jungle_planet/outside/abandoned)
"jhW" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/shard{
icon_state = "small"
},
@@ -7775,7 +7775,7 @@
/turf/simulated/floor/plating,
/area/awaymission/jungle_planet/inside/complex)
"kby" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard{
icon_state = "medium";
pixel_x = -7;
@@ -7857,7 +7857,7 @@
},
/area/awaymission/jungle_planet/outside/river)
"khp" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/glass,
/obj/item/stack/rods,
/turf/simulated/floor/plating,
@@ -10188,7 +10188,7 @@
/turf/simulated/floor/mineral/titanium/blue,
/area/awaymission/jungle_planet/outside/abandoned)
"mTI" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/shard{
icon_state = "small"
},
@@ -10386,7 +10386,7 @@
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside/river)
"nfW" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/shard{
icon_state = "small"
},
@@ -10448,7 +10448,7 @@
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside)
"njs" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/shard{
icon_state = "medium";
pixel_x = -7;
@@ -10653,7 +10653,7 @@
},
/area/awaymission/jungle_planet/inside/complex)
"nBO" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/awaymission/jungle_planet/inside/complex)
"nBY" = (
@@ -11018,7 +11018,7 @@
/turf/simulated/floor/beach/away/sand,
/area/awaymission/jungle_planet/outside/river)
"oeY" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/awaymission/jungle_planet/outside/abandoned)
"ofe" = (
@@ -11265,7 +11265,7 @@
},
/area/awaymission/jungle_planet/outside/river)
"ouM" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard{
icon_state = "medium";
pixel_x = 9;
@@ -11277,7 +11277,7 @@
/turf/simulated/floor/plating,
/area/awaymission/jungle_planet/inside/complex)
"ovS" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/stack/rods,
/obj/item/shard{
icon_state = "medium";
@@ -13130,7 +13130,7 @@
},
/area/awaymission/jungle_planet/inside/complex)
"qPT" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/stack/rods,
/obj/effect/decal/cleanable/glass,
/turf/simulated/floor/plating,
@@ -13486,7 +13486,7 @@
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside)
"rnw" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/shard,
/obj/item/stack/rods,
/obj/effect/decal/cleanable/glass,
@@ -13865,7 +13865,7 @@
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside)
"rKg" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/awaymission/jungle_planet/outside)
"rKR" = (
@@ -14607,7 +14607,7 @@
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside)
"sCe" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/shard,
/turf/simulated/floor/indestructible/grass,
/area/awaymission/jungle_planet/outside)
@@ -15257,7 +15257,7 @@
/turf/simulated/floor/plasteel,
/area/awaymission/jungle_planet/outside)
"tqZ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/shard,
/obj/structure/flora/ausbushes/brflowers,
/obj/effect/decal/cleanable/glass,
@@ -17124,7 +17124,7 @@
/turf/simulated/floor/wood/oak,
/area/awaymission/jungle_planet/outside/cave)
"vEC" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/item/stack/rods,
/turf/simulated/floor/plating,
/area/awaymission/jungle_planet/outside/abandoned)
@@ -18876,7 +18876,7 @@
/turf/simulated/floor/plasteel,
/area/awaymission/jungle_planet/inside/complex)
"xPM" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/item/stack/rods,
/obj/item/shard,
/obj/item/shard{
diff --git a/_maps/map_files220/generic/Lavaland.dmm b/_maps/map_files220/generic/Lavaland.dmm
index 33b43acb07df..19a8790f2179 100644
--- a/_maps/map_files220/generic/Lavaland.dmm
+++ b/_maps/map_files220/generic/Lavaland.dmm
@@ -3079,7 +3079,7 @@
icon_state = "1-2"
},
/obj/effect/spawner/random_spawners/dirt_maybe,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/south)
"gu" = (
@@ -6849,7 +6849,7 @@
/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
"yR" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/spawner/random_spawners/dirt_maybe,
/obj/effect/decal/cleanable/spiderling_remains,
/turf/simulated/floor/plating,
@@ -7719,7 +7719,7 @@
},
/area/mine/outpost/airlock)
"DA" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/effect/spawner/random_spawners/dirt_maybe,
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/east)
@@ -8031,7 +8031,7 @@
},
/area/mine/outpost/cafeteria)
"FI" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/mine/outpost/maintenance/south)
"FJ" = (
diff --git a/_maps/map_files220/stations/boxstation.dmm b/_maps/map_files220/stations/boxstation.dmm
index 3c633a765183..2027f9ad1b39 100644
--- a/_maps/map_files220/stations/boxstation.dmm
+++ b/_maps/map_files220/stations/boxstation.dmm
@@ -2876,7 +2876,7 @@
/area/station/engineering/solar/fore_starboard)
"anp" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/engineering/utility)
"anq" = (
@@ -4154,7 +4154,7 @@
},
/area/station/public/dorms)
"asf" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"asg" = (
@@ -6848,7 +6848,7 @@
/turf/simulated/floor/wood/fancy/cherry,
/area/station/legal/lawoffice)
"aAH" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -7915,7 +7915,7 @@
/area/station/legal/courtroom)
"aDR" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"aDS" = (
@@ -9407,7 +9407,7 @@
/area/station/maintenance/fpmaint)
"aIS" = (
/obj/structure/grille,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"aIT" = (
@@ -9603,7 +9603,7 @@
/area/station/maintenance/fore)
"aJy" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"aJz" = (
@@ -10661,7 +10661,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"aNZ" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -10760,7 +10760,7 @@
/turf/simulated/wall,
/area/station/maintenance/fpmaint)
"aOs" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"aOv" = (
@@ -11040,7 +11040,7 @@
},
/area/station/maintenance/fpmaint)
"aPv" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -11263,7 +11263,7 @@
/turf/simulated/floor/mineral/tranquillite,
/area/station/service/mime)
"aQe" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -11651,7 +11651,7 @@
/obj/structure/sign/electricshock{
pixel_y = -32
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -12814,7 +12814,7 @@
/turf/simulated/floor/plating,
/area/shuttle/arrival/station)
"aWb" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dust,
/turf/simulated/floor/plating,
@@ -16893,7 +16893,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/starboard/west)
"bkD" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"bkE" = (
@@ -18999,7 +18999,7 @@
/turf/simulated/floor/carpet,
/area/station/public/vacant_office)
"btE" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -19036,7 +19036,7 @@
/turf/simulated/floor/plasteel,
/area/station/supply/expedition)
"btL" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
@@ -20115,7 +20115,7 @@
},
/area/station/medical/morgue)
"bzk" = (
-/obj/machinery/smartfridge,
+/obj/machinery/smartfridge/food/chef,
/turf/simulated/floor/plating,
/area/station/service/kitchen)
"bzm" = (
@@ -21821,7 +21821,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"bGH" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"bGK" = (
@@ -23934,7 +23934,7 @@
/turf/simulated/floor/transparent/glass,
/area/station/command/bridge)
"bQq" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/storage)
"bQs" = (
@@ -24799,7 +24799,7 @@
"bTX" = (
/obj/effect/decal/cleanable/dust,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"bTZ" = (
@@ -25225,7 +25225,7 @@
/turf/simulated/wall,
/area/station/medical/cryo)
"bWb" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"bWd" = (
@@ -28168,7 +28168,7 @@
/turf/simulated/floor/plasteel,
/area/station/science/storage)
"cig" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -28345,7 +28345,7 @@
/turf/simulated/wall,
/area/station/maintenance/asmaint)
"cja" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"cjc" = (
@@ -31353,7 +31353,7 @@
/area/station/medical/surgery/primary)
"cuI" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"cuJ" = (
@@ -31755,7 +31755,7 @@
},
/area/station/medical/reception)
"cwl" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"cwo" = (
@@ -32193,7 +32193,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/incinerator)
"cyp" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"cyq" = (
@@ -32424,7 +32424,7 @@
/turf/space,
/area/station/engineering/solar/port)
"cyP" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cyQ" = (
@@ -32858,7 +32858,7 @@
},
/area/station/medical/reception)
"cAu" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cAv" = (
@@ -32871,7 +32871,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"cAz" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cAB" = (
@@ -32990,7 +32990,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"cBe" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
@@ -33907,7 +33907,7 @@
},
/area/station/maintenance/aft)
"cEE" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"cEH" = (
@@ -35182,7 +35182,7 @@
},
/area/station/hallway/primary/central/ne)
"cJa" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
@@ -37006,7 +37006,7 @@
/turf/simulated/wall,
/area/station/maintenance/asmaint)
"cQx" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"cQy" = (
@@ -37718,7 +37718,7 @@
},
/area/station/engineering/smes)
"cSz" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -38779,7 +38779,7 @@
},
/area/station/engineering/equipmentstorage)
"cVR" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"cVS" = (
@@ -43319,7 +43319,7 @@
/area/station/maintenance/assembly_line)
"dmJ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"dmK" = (
@@ -45177,7 +45177,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint2)
"dyn" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -47406,7 +47406,7 @@
/turf/simulated/floor/plating/airless,
/area/space/nearstation)
"ejH" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -47592,7 +47592,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"enO" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
@@ -48228,7 +48228,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"ezU" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment,
/obj/structure/cable{
d1 = 1;
@@ -48272,7 +48272,7 @@
},
/area/station/engineering/equipmentstorage)
"eAu" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/medical/patients_rooms)
"eAF" = (
@@ -49658,7 +49658,7 @@
/area/station/public/dorms)
"fcM" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
@@ -52967,7 +52967,7 @@
},
/area/station/engineering/hallway)
"gmu" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/aft)
"gmE" = (
@@ -53716,7 +53716,7 @@
},
/area/station/service/chapel)
"gyA" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -54901,7 +54901,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"gQN" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"gRe" = (
@@ -56035,7 +56035,7 @@
"hiQ" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random_spawners/oil_maybe,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"hju" = (
@@ -56632,7 +56632,7 @@
/area/station/security/permabrig)
"htV" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"htY" = (
@@ -57112,7 +57112,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/aft)
"hCG" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"hCY" = (
@@ -58374,7 +58374,7 @@
/turf/simulated/floor/plating/airless,
/area/station/engineering/control)
"hZZ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -60294,7 +60294,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"iOY" = (
@@ -60381,7 +60381,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 10
},
@@ -60878,7 +60878,7 @@
},
/area/station/security/brig)
"iZV" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/asmaint)
@@ -61258,7 +61258,7 @@
/area/station/security/permabrig)
"jgA" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"jgP" = (
@@ -61626,7 +61626,7 @@
/area/station/science/robotics)
"jpc" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -61875,7 +61875,7 @@
},
/area/station/maintenance/aft)
"jsn" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 2;
d2 = 4;
@@ -63474,7 +63474,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"jYQ" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
@@ -64551,7 +64551,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"ksJ" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
@@ -66594,7 +66594,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"lcL" = (
-/obj/effect/spawner/random_barrier/wall_probably,
+/obj/effect/spawner/random/barrier/wall_probably,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"lcZ" = (
@@ -66723,7 +66723,7 @@
/turf/simulated/floor/plating,
/area/station/supply/sorting)
"lfX" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/structure/cable{
d1 = 1;
@@ -68801,7 +68801,7 @@
},
/area/station/science/toxins/mixing)
"lRt" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -73212,7 +73212,7 @@
},
/area/station/maintenance/apmaint)
"nsA" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/glass,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
@@ -76166,7 +76166,7 @@
/area/station/science/storage)
"otX" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"otY" = (
@@ -76332,7 +76332,7 @@
"oxf" = (
/obj/effect/landmark/burnturf,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"oxy" = (
@@ -78315,7 +78315,7 @@
/area/station/legal/courtroom/gallery)
"pfF" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -78365,7 +78365,7 @@
},
/area/station/engineering/control)
"pgV" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"pgW" = (
@@ -79688,7 +79688,7 @@
},
/area/station/legal/courtroom)
"pBP" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"pCe" = (
@@ -79796,7 +79796,7 @@
/area/station/hallway/secondary/entry)
"pEu" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -81278,7 +81278,7 @@
/area/station/maintenance/fpmaint)
"qhK" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"qhO" = (
@@ -83619,7 +83619,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"qTO" = (
@@ -84337,7 +84337,7 @@
icon_state = "1-2"
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint2)
"rhk" = (
@@ -84556,7 +84556,7 @@
/turf/space,
/area/space/nearstation)
"rmi" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -84619,7 +84619,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"rng" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"rnu" = (
@@ -84971,7 +84971,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/aft)
"rwI" = (
@@ -84995,7 +84995,7 @@
/area/station/science/robotics/chargebay)
"rxm" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"rxp" = (
@@ -85522,7 +85522,7 @@
},
/area/station/science/explab)
"rID" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/asmaint)
@@ -85960,7 +85960,7 @@
},
/area/station/security/permabrig)
"rRt" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/engineering/utility)
"rRy" = (
@@ -87365,7 +87365,7 @@
/area/station/security/permabrig)
"sqc" = (
/obj/effect/decal/cleanable/dust,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"sqf" = (
@@ -91774,7 +91774,7 @@
/area/station/maintenance/turbine)
"tSN" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -92640,7 +92640,7 @@
},
/area/station/hallway/primary/central/nw)
"ugC" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"ugT" = (
@@ -92819,7 +92819,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/abandonedbar)
"uki" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel,
/area/station/maintenance/fsmaint)
@@ -93476,7 +93476,7 @@
/area/station/turret_protected/aisat/interior)
"uwi" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/sign/xenobio{
pixel_x = -31
},
@@ -93831,7 +93831,7 @@
/turf/simulated/floor/plating,
/area/station/command/office/cmo)
"uBz" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
@@ -94165,7 +94165,7 @@
/area/station/maintenance/apmaint)
"uJq" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -96610,7 +96610,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/asmaint)
"vBG" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -97706,7 +97706,7 @@
/turf/simulated/floor/wood/fancy/cherry,
/area/station/command/office/captain)
"vUq" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -98326,7 +98326,7 @@
"wgA" = (
/obj/effect/landmark/burnturf,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plasteel,
/area/station/maintenance/asmaint)
"wgG" = (
@@ -101081,7 +101081,7 @@
},
/area/station/security/interrogation)
"xfQ" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable{
d1 = 4;
d2 = 8;
@@ -102807,7 +102807,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/apmaint)
"xLs" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/effect/decal/cleanable/dust,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
@@ -102983,7 +102983,7 @@
/area/station/engineering/break_room)
"xOA" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/apmaint)
"xOH" = (
diff --git a/_maps/map_files220/stations/deltastation.dmm b/_maps/map_files220/stations/deltastation.dmm
index 9e51ca187e45..4ebfa6243a4d 100644
--- a/_maps/map_files220/stations/deltastation.dmm
+++ b/_maps/map_files220/stations/deltastation.dmm
@@ -1807,7 +1807,7 @@
/area/station/supply/warehouse)
"amU" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
dir = 1;
icon_state = "neutral"
@@ -1823,7 +1823,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore2)
"anl" = (
@@ -5938,7 +5938,7 @@
/area/station/maintenance/fsmaint)
"aAV" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
icon_state = "black"
},
@@ -6906,7 +6906,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutral"
@@ -21860,7 +21860,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutral"
@@ -30182,7 +30182,7 @@
/turf/simulated/floor/wood/parquet/tile,
/area/station/service/library)
"cpJ" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard2)
"cpP" = (
@@ -34486,7 +34486,7 @@
},
/area/station/engineering/mechanic)
"cIs" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
@@ -34521,7 +34521,7 @@
/turf/simulated/floor/mineral/titanium/blue,
/area/shuttle/pod_2)
"cIv" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutral"
@@ -34948,7 +34948,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"cKe" = (
@@ -35840,7 +35840,7 @@
/area/station/science/research)
"cNH" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"cNJ" = (
@@ -38496,7 +38496,7 @@
"cXY" = (
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -40631,7 +40631,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutral"
@@ -41062,7 +41062,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"dkC" = (
@@ -43857,7 +43857,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutral"
@@ -47898,7 +47898,7 @@
/turf/simulated/floor/carpet/black,
/area/station/service/chapel/office)
"dTr" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel/white,
/area/station/maintenance/apmaint)
@@ -49002,7 +49002,7 @@
/area/station/maintenance/port2)
"dYp" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -49825,7 +49825,7 @@
},
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"efk" = (
@@ -50348,7 +50348,7 @@
/area/station/legal/lawoffice)
"enA" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fore2)
"enC" = (
@@ -50552,7 +50552,7 @@
},
/area/station/security/range)
"eqK" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dust,
/turf/simulated/floor/plasteel{
@@ -53704,7 +53704,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"fnS" = (
@@ -54284,7 +54284,7 @@
icon_state = "1-2"
},
/obj/structure/disposalpipe/segment,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"fwX" = (
@@ -55123,7 +55123,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/turf/simulated/floor/wood/fancy/cherry,
/area/station/maintenance/fsmaint)
"fMj" = (
@@ -56008,7 +56008,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutral"
@@ -56065,7 +56065,7 @@
"fYN" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/spawner/random_spawners/oil_maybe,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "whiteblue"
@@ -57062,7 +57062,7 @@
/area/station/medical/surgery/secondary)
"gqt" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutral"
@@ -57552,7 +57552,7 @@
/area/station/supply/storage)
"gxu" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"gxD" = (
@@ -57587,7 +57587,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/supply{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -58047,7 +58047,7 @@
/area/station/maintenance/fsmaint)
"gGJ" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -58723,7 +58723,7 @@
/turf/simulated/floor/plating,
/area/station/medical/surgery/primary)
"gPY" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/turf/simulated/floor/plating,
@@ -60193,7 +60193,7 @@
/area/station/maintenance/port)
"hoo" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"hov" = (
@@ -60220,7 +60220,7 @@
/area/station/engineering/controlroom)
"hoG" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"hoX" = (
@@ -60543,7 +60543,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"huY" = (
@@ -65258,7 +65258,7 @@
/turf/simulated/floor/grass,
/area/station/science/lobby)
"iOp" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"iOs" = (
@@ -65626,7 +65626,7 @@
/turf/simulated/floor/plating,
/area/station/security/evidence)
"iTC" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dust,
/turf/simulated/floor/plating,
@@ -68338,7 +68338,7 @@
/turf/simulated/floor/engine/vacuum,
/area/station/engineering/atmos)
"jHd" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
@@ -72363,7 +72363,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutral"
@@ -73217,7 +73217,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plasteel{
dir = 8;
@@ -74196,7 +74196,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/medmaint)
"luU" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
dir = 8;
icon_state = "neutral"
@@ -80093,7 +80093,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
icon_state = "neutral"
},
@@ -85608,7 +85608,7 @@
/turf/simulated/floor/engine,
/area/station/engineering/controlroom)
"oLe" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/plasteel/white,
/area/station/maintenance/apmaint)
@@ -88120,7 +88120,7 @@
/area/station/maintenance/starboard2)
"pvh" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"pvo" = (
@@ -88963,7 +88963,7 @@
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/port)
"pJb" = (
@@ -89443,7 +89443,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/disposalpipe/segment,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
@@ -89889,7 +89889,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"pXo" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/dormitory_maintenance)
"pXz" = (
@@ -95718,7 +95718,7 @@
},
/area/station/public/pool)
"rJd" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/port)
"rJg" = (
@@ -95934,7 +95934,7 @@
/area/station/maintenance/fsmaint)
"rMm" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel{
dir = 4;
icon_state = "neutral"
@@ -98653,7 +98653,7 @@
},
/area/station/service/kitchen)
"sAs" = (
-/obj/machinery/smartfridge,
+/obj/machinery/smartfridge/food/chef,
/obj/machinery/door/window/classic/normal{
dir = 4;
name = "Kitchen Desk"
@@ -101367,7 +101367,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"toU" = (
@@ -101750,7 +101750,7 @@
},
/area/station/engineering/control)
"tuF" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/structure/barricade/wooden,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
@@ -104075,7 +104075,7 @@
},
/area/station/medical/virology)
"ugI" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"uho" = (
@@ -105084,7 +105084,7 @@
/obj/structure/disposalpipe/segment{
dir = 4
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/aft)
"uxq" = (
@@ -107308,7 +107308,7 @@
},
/area/station/security/permabrig)
"vdP" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
/obj/machinery/atmospherics/pipe/simple/hidden/supply,
/turf/simulated/floor/plating,
@@ -107618,7 +107618,7 @@
},
/area/station/maintenance/electrical)
"vjX" = (
-/obj/effect/spawner/random_barrier/possibly_welded_airlock,
+/obj/effect/spawner/random/barrier/possibly_welded_airlock,
/obj/structure/cable{
d1 = 1;
d2 = 2;
@@ -112100,7 +112100,7 @@
/turf/simulated/floor/grass/no_creep,
/area/station/hallway/secondary/exit)
"wFg" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"wFh" = (
@@ -113541,7 +113541,7 @@
"wYP" = (
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/starboard)
"wYQ" = (
@@ -114761,7 +114761,7 @@
/turf/simulated/floor/plasteel,
/area/station/maintenance/fore)
"xrZ" = (
-/obj/effect/spawner/random_barrier/wall_probably,
+/obj/effect/spawner/random/barrier/wall_probably,
/turf/simulated/floor/plating,
/area/station/maintenance/apmaint)
"xse" = (
diff --git a/_maps/map_files220/stations/metastation.dmm b/_maps/map_files220/stations/metastation.dmm
index 900731901e81..edd8585b3303 100644
--- a/_maps/map_files220/stations/metastation.dmm
+++ b/_maps/map_files220/stations/metastation.dmm
@@ -2385,7 +2385,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"aqO" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/disposalpipe/segment,
/obj/structure/cable/yellow{
d1 = 1;
@@ -4246,7 +4246,7 @@
},
/area/station/command/office/captain/bedroom)
"ayk" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"ayr" = (
@@ -4560,7 +4560,7 @@
d2 = 8;
icon_state = "4-8"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/obj/structure/disposalpipe/segment{
dir = 4
},
@@ -4677,7 +4677,7 @@
},
/area/station/public/dorms)
"aAf" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
@@ -5982,7 +5982,7 @@
/turf/simulated/floor/engine,
/area/station/science/explab/chamber)
"aFM" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/structure/cable/yellow{
d1 = 1;
d2 = 2;
@@ -6974,7 +6974,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/primary/fore)
"aJl" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"aJm" = (
@@ -7470,7 +7470,7 @@
/turf/simulated/floor/plating,
/area/station/engineering/atmos/distribution)
"aLc" = (
-/obj/effect/spawner/random_barrier/obstruction,
+/obj/effect/spawner/random/barrier/obstruction,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -8034,7 +8034,7 @@
/turf/simulated/floor/wood,
/area/station/service/clown)
"aMB" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -45152,7 +45152,7 @@
/turf/simulated/floor/plasteel,
/area/station/hallway/secondary/exit)
"dHr" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"dHE" = (
@@ -55275,7 +55275,7 @@
/turf/simulated/floor/plasteel,
/area/station/engineering/control)
"iot" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fsmaint)
"ioy" = (
@@ -66214,7 +66214,7 @@
/turf/simulated/floor/plasteel,
/area/station/supply/office)
"niC" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel{
icon_state = "neutralfull"
},
@@ -73007,7 +73007,7 @@
d2 = 2;
icon_state = "1-2"
},
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plating,
/area/station/maintenance/fore)
"qAb" = (
@@ -76019,7 +76019,7 @@
/area/station/engineering/atmos/distribution)
"rXf" = (
/obj/effect/decal/cleanable/dirt,
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/turf/simulated/floor/plasteel,
/area/station/maintenance/fsmaint)
"rXj" = (
@@ -80486,7 +80486,7 @@
},
/area/station/security/main)
"uhI" = (
-/obj/effect/spawner/random_spawners/grille_maybe,
+/obj/effect/spawner/random/barrier/grille_maybe,
/turf/simulated/floor/plasteel,
/area/station/maintenance/fore)
"uhK" = (
@@ -87718,7 +87718,7 @@
/turf/simulated/floor/plating,
/area/station/maintenance/fpmaint)
"xNa" = (
-/obj/effect/spawner/random_spawners/grille_often,
+/obj/effect/spawner/random/barrier/grille_often,
/obj/machinery/atmospherics/pipe/simple/hidden/cyan{
dir = 4
},
@@ -88822,7 +88822,7 @@
},
/area/station/supply/office)
"ylG" = (
-/obj/machinery/smartfridge,
+/obj/machinery/smartfridge/food/chef,
/obj/machinery/door/window/classic/normal{
name = "Anti-Theft Shield";
dir = 1
diff --git a/code/__DEFINES/dcs/datum_signals.dm b/code/__DEFINES/dcs/datum_signals.dm
index 650c91a12e30..6850155f3451 100644
--- a/code/__DEFINES/dcs/datum_signals.dm
+++ b/code/__DEFINES/dcs/datum_signals.dm
@@ -8,7 +8,7 @@
/// when a component is added to a datum: (/datum/component)
#define COMSIG_COMPONENT_ADDED "component_added"
-/// before a component is removed from a datum because of RemoveComponent: (/datum/component)
+/// before a component is removed from a datum because of UnlinkComponent: (/datum/component)
#define COMSIG_COMPONENT_REMOVING "component_removing"
/// before a datum's Destroy() is called: (force), returning a nonzero value will cancel the qdel operation
#define COMSIG_PARENT_PREQDELETED "parent_preqdeleted"
diff --git a/code/__DEFINES/layers.dm b/code/__DEFINES/layers.dm
index 5b460ff93401..cfe41cb599e2 100644
--- a/code/__DEFINES/layers.dm
+++ b/code/__DEFINES/layers.dm
@@ -9,8 +9,14 @@
#define PLANE_SPACE -95
#define PLANE_SPACE_PARALLAX -90
-#define FLOOR_PLANE -2
-#define FLOOR_OVERLAY_PLANE -1.5
+#define FLOOR_PLANE -6
+#define FLOOR_OVERLAY_PLANE -5
+
+#define FLOOR_LIGHTING_LAMPS_GLARE -4
+#define FLOOR_LIGHTING_LAMPS_SELFGLOW -3
+#define FLOOR_LIGHTING_LAMPS_PLANE -2
+#define FLOOR_LIGHTING_LAMPS_RENDER_TARGET "*FLOOR_LIGHTING_LAMPS_RENDER_TARGET"
+
#define GAME_PLANE -1
#define BLACKNESS_PLANE 0 //To keep from conflicts with SEE_BLACKNESS internals
diff --git a/code/__DEFINES/misc_defines.dm b/code/__DEFINES/misc_defines.dm
index 423ef9e93f06..d64e26ff1011 100644
--- a/code/__DEFINES/misc_defines.dm
+++ b/code/__DEFINES/misc_defines.dm
@@ -592,12 +592,6 @@
/// Mutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy.
#define MUTE_DEADCHAT_DEMOCRACY_MESSAGES (1<<2)
-// Lavaland cave design defines
-
-#define BLOCKED_BURROWS "Blocked Burrows"
-#define CLASSIC_CAVES "Classic Caves"
-#define DEADLY_DEEPROCK "Deadly Deeprock"
-
///Sleep check QDEL. Like sleep check death, but checks deleting. Good for non mobs.
#define SLEEP_CHECK_QDEL(X) sleep(X); if(QDELETED(src)) return;
// Request console message priority defines
@@ -735,4 +729,6 @@ do { \
#define INGREDIENT_CHECK_FAILURE 0
#define INGREDIENT_CHECK_SURPLUS -1
+#define LAVALAND_TENDRIL_COLLAPSE_RANGE 2 //! The radius of the chasm created by killed tendrils.
+
#define ALPHA_VISIBLE 255 // the max alpha
diff --git a/code/__DEFINES/sound_defines.dm b/code/__DEFINES/sound_defines.dm
index 262f2a600f69..583bc231980c 100644
--- a/code/__DEFINES/sound_defines.dm
+++ b/code/__DEFINES/sound_defines.dm
@@ -12,10 +12,11 @@
#define CHANNEL_RADIO_NOISE 1014 // radio headset noise
#define CHANNEL_BOSS_MUSIC 1013
#define CHANNEL_GENERAL 1012
+#define CHANNEL_SURGERY_SOUNDS 1011
// SS220 ADDITION START
-#define CHANNEL_TTS_RADIO 1011
-#define CHANNEL_TTS_LOCAL 1010
-#define CHANNEL_CINEMATIC 1009
+#define CHANNEL_TTS_RADIO 1010
+#define CHANNEL_TTS_LOCAL 1009
+#define CHANNEL_CINEMATIC 1008
// SS220 ADDITION END
#define USER_VOLUME(M, C) M?.client?.prefs.get_channel_volume(C)
@@ -23,7 +24,7 @@
//THIS SHOULD ALWAYS BE THE LOWEST ONE!
//KEEP IT UPDATED
-#define CHANNEL_HIGHEST_AVAILABLE 1008
+#define CHANNEL_HIGHEST_AVAILABLE 1007
#define MAX_INSTRUMENT_CHANNELS (128 * 6)
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index efc529ea251b..3dd0ec77e5ef 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1141,41 +1141,23 @@ Checks if that loc and dir has a item on the wall
*/
GLOBAL_LIST_INIT(wall_items, typecacheof(list(/obj/machinery/power/apc, /obj/machinery/alarm,
/obj/item/radio/intercom, /obj/structure/extinguisher_cabinet, /obj/structure/reagent_dispensers/peppertank,
- /obj/machinery/status_display, /obj/machinery/requests_console, /obj/machinery/light_switch, /obj/structure/sign,
+ /obj/machinery/status_display, /obj/machinery/requests_console, /obj/structure/sign,
/obj/machinery/newscaster, /obj/machinery/firealarm, /obj/structure/noticeboard, /obj/machinery/door_control,
/obj/machinery/computer/security/telescreen, /obj/machinery/airlock_controller,
/obj/item/storage/secure/safe, /obj/machinery/door_timer, /obj/machinery/flasher, /obj/machinery/keycard_auth,
/obj/structure/mirror, /obj/structure/closet/fireaxecabinet, /obj/machinery/computer/security/telescreen/entertainment,
- /obj/structure/sign, /obj/machinery/barsign)))
+ /obj/structure/sign, /obj/machinery/barsign, /obj/machinery/light, /obj/machinery/light_construct)))
/proc/gotwallitem(loc, dir)
for(var/obj/O in loc)
- if(is_type_in_typecache(O, GLOB.wall_items))
- //Direction works sometimes
- if(O.dir == dir)
- return 1
-
- //Some stuff doesn't use dir properly, so we need to check pixel instead
- switch(dir)
- if(SOUTH)
- if(O.pixel_y > 10)
- return 1
- if(NORTH)
- if(O.pixel_y < -10)
- return 1
- if(WEST)
- if(O.pixel_x > 10)
- return 1
- if(EAST)
- if(O.pixel_x < -10)
- return 1
-
- //Some stuff is placed directly on the wallturf (signs)
+ if(is_type_in_typecache(O, GLOB.wall_items) && dir == O.dir)
+ return TRUE
+
+ // Some stuff is placed directly on the wallturf (signs)
for(var/obj/O in get_step(loc, dir))
if(is_type_in_typecache(O, GLOB.wall_items))
- if(abs(O.pixel_x) <= 10 && abs(O.pixel_y) <= 10)
- return 1
- return 0
+ return TRUE
+ return FALSE
/proc/atan2(x, y)
if(!x && !y) return 0
@@ -1874,9 +1856,6 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
continue
. += A
-/proc/pass()
- return
-
/atom/proc/Shake(pixelshiftx = 15, pixelshifty = 15, duration = 250)
var/initialpixelx = pixel_x
var/initialpixely = pixel_y
@@ -1971,15 +1950,18 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
return "Radio Noise"
if(CHANNEL_BOSS_MUSIC)
return "Boss Music"
+ if(CHANNEL_SURGERY_SOUNDS)
+ return "Surgery Sounds"
// SS220 ADDITON START
if(CHANNEL_TTS_LOCAL)
return "TTS Local"
if(CHANNEL_TTS_RADIO)
return "TTS Radio"
if(CHANNEL_CINEMATIC)
- return "Cinematic music"
+ return "Cinematic Music"
// SS220 ADDITION END
+
/proc/slot_bitfield_to_slot(input_slot_flags) // Kill off this garbage ASAP; slot flags and clothing flags should be IDENTICAL. GOSH DARN IT. Doesn't work with ears or pockets, either.
switch(input_slot_flags)
if(SLOT_FLAG_OCLOTHING)
diff --git a/code/_globalvars/lists/reagents_lists.dm b/code/_globalvars/lists/reagents_lists.dm
index 92e50d01ed7f..e25462c1affb 100644
--- a/code/_globalvars/lists/reagents_lists.dm
+++ b/code/_globalvars/lists/reagents_lists.dm
@@ -10,7 +10,7 @@ GLOBAL_LIST_INIT(standard_medicines, list("charcoal","toxin","cyanide","morphine
GLOBAL_LIST_INIT(rare_medicines, list("syndicate_nanites","minttoxin","blood", "xenomicrobes"))
// Drinks
GLOBAL_LIST_INIT(drinks, list("beer2","hot_coco","orangejuice","tomatojuice","limejuice","carrotjuice",
- "berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana",
+ "berryjuice","poisonberryjuice","watermelonjuice","lemonjuice","banana", "bungojuice",
"nothing","potato","milk","soymilk","cream","coffee","tea","icecoffee",
"icetea","cola","nuka_cola","spacemountainwind","thirteenloko","dr_gibb",
"space_up","lemon_lime","beer","whiskey","gin","rum","vodka","holywater",
diff --git a/code/_onclick/hud/plane_master.dm b/code/_onclick/hud/plane_master.dm
index 4ac17efb7f98..c28d7efb270a 100644
--- a/code/_onclick/hud/plane_master.dm
+++ b/code/_onclick/hud/plane_master.dm
@@ -118,6 +118,11 @@
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
render_target = LIGHTING_LAMPS_RENDER_TARGET
+/atom/movable/screen/plane_master/lamps/floor
+ name = "floor lamps plane master"
+ plane = FLOOR_LIGHTING_LAMPS_PLANE
+ render_target = FLOOR_LIGHTING_LAMPS_RENDER_TARGET
+
/atom/movable/screen/plane_master/exposure
name = "exposure plane master"
plane = LIGHTING_EXPOSURE_PLANE
@@ -143,6 +148,12 @@
appearance_flags = PLANE_MASTER //should use client color
blend_mode = BLEND_ADD
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ var/target_rendering = LIGHTING_LAMPS_RENDER_TARGET
+
+/atom/movable/screen/plane_master/lamps_selfglow/floor
+ name = "floor lamps selfglow plane master"
+ plane = FLOOR_LIGHTING_LAMPS_SELFGLOW
+ target_rendering = FLOOR_LIGHTING_LAMPS_RENDER_TARGET
/atom/movable/screen/plane_master/lamps_selfglow/backdrop(mob/mymob)
remove_filter("add_lamps_to_selfglow")
@@ -169,13 +180,19 @@
else
return
- add_filter("add_lamps_to_selfglow", 1, layering_filter(render_source = LIGHTING_LAMPS_RENDER_TARGET, blend_mode = BLEND_OVERLAY))
+ add_filter("add_lamps_to_selfglow", 1, layering_filter(render_source = target_rendering, blend_mode = BLEND_OVERLAY))
add_filter("lamps_selfglow_bloom", 1, bloom_filter(threshold = "#777777", size = bloomsize, offset = bloomoffset, alpha = 80))
/atom/movable/screen/plane_master/lamps_glare
name = "lamps glare plane master"
plane = LIGHTING_LAMPS_GLARE
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ var/target_rendering = LIGHTING_LAMPS_RENDER_TARGET
+
+/atom/movable/screen/plane_master/lamps_glare/floor
+ name = "floor lamps glare plane master"
+ plane = FLOOR_LIGHTING_LAMPS_GLARE
+ target_rendering = FLOOR_LIGHTING_LAMPS_RENDER_TARGET
/atom/movable/screen/plane_master/lamps_glare/backdrop(mob/mymob)
remove_filter("add_lamps_to_glare")
@@ -187,5 +204,5 @@
var/enabled = mymob?.client?.prefs?.light & LIGHT_GLARE
if(enabled)
- add_filter("add_lamps_to_glare", 1, layering_filter(render_source = LIGHTING_LAMPS_RENDER_TARGET, blend_mode = BLEND_ADD))
+ add_filter("add_lamps_to_glare", 1, layering_filter(render_source = target_rendering, blend_mode = BLEND_ADD))
add_filter("lamps_glare", 1, radial_blur_filter(size = 0.035))
diff --git a/code/_onclick/hud/plane_master_controller.dm b/code/_onclick/hud/plane_master_controller.dm
index 1e3d317fc1a2..d16e2da744e2 100644
--- a/code/_onclick/hud/plane_master_controller.dm
+++ b/code/_onclick/hud/plane_master_controller.dm
@@ -76,6 +76,9 @@
name = PLANE_MASTERS_GAME
controlled_planes = list(
FLOOR_PLANE,
+ FLOOR_LIGHTING_LAMPS_SELFGLOW,
+ FLOOR_LIGHTING_LAMPS_PLANE,
+ FLOOR_LIGHTING_LAMPS_GLARE,
GAME_PLANE,
LIGHTING_PLANE,
PLANE_SPACE_PARALLAX,
diff --git a/code/controllers/subsystem/SSstatpanel.dm b/code/controllers/subsystem/SSstatpanel.dm
index 20804e50b5f2..b918eb8a4e71 100644
--- a/code/controllers/subsystem/SSstatpanel.dm
+++ b/code/controllers/subsystem/SSstatpanel.dm
@@ -294,7 +294,7 @@ SUBSYSTEM_DEF(statpanels)
actively_tracking = TRUE
/datum/object_window_info/proc/stop_turf_tracking()
- qdel(GetComponent(/datum/component/connect_mob_behalf))
+ DeleteComponent(/datum/component/connect_mob_behalf)
actively_tracking = FALSE
/datum/object_window_info/proc/on_mob_move(mob/source)
diff --git a/code/controllers/subsystem/non_firing/SSatoms.dm b/code/controllers/subsystem/non_firing/SSatoms.dm
index 038f417c9b0c..fb5419680375 100644
--- a/code/controllers/subsystem/non_firing/SSatoms.dm
+++ b/code/controllers/subsystem/non_firing/SSatoms.dm
@@ -49,7 +49,6 @@ SUBSYSTEM_DEF(atoms)
log_startup_progress("Initialized [count] atoms in [stop_watch(watch)]s")
else
log_debug(" Initialized [count] atoms in [stop_watch(watch)]s")
- pass(count)
initialized = INITIALIZATION_INNEW_REGULAR
diff --git a/code/controllers/subsystem/non_firing/SSmapping.dm b/code/controllers/subsystem/non_firing/SSmapping.dm
index ca5592181358..3e70a20546b6 100644
--- a/code/controllers/subsystem/non_firing/SSmapping.dm
+++ b/code/controllers/subsystem/non_firing/SSmapping.dm
@@ -15,7 +15,7 @@ SUBSYSTEM_DEF(mapping)
///What do we have as the lavaland theme today?
var/datum/lavaland_theme/lavaland_theme
///What primary cave theme we have picked for cave generation today.
- var/cave_theme
+ var/datum/caves_theme/caves_theme
// Tells if all maintenance airlocks have emergency access enabled
var/maint_all_access = FALSE
// Tells if all station airlocks have emergency access enabled
@@ -55,10 +55,15 @@ SUBSYSTEM_DEF(mapping)
var/datum/lavaland_theme/lavaland_theme_type = pick(subtypesof(/datum/lavaland_theme))
ASSERT(lavaland_theme_type)
lavaland_theme = new lavaland_theme_type
- log_startup_progress("We're in the mood for [initial(lavaland_theme.name)] today...") //We load this first. In the event some nerd ever makes a surface map, and we don't have it in lavaland in the event lavaland is disabled.
+ log_startup_progress("We're in the mood for [lavaland_theme.name] today...") //We load this first. In the event some nerd ever makes a surface map, and we don't have it in lavaland in the event lavaland is disabled.
+ SSblackbox.record_feedback("text", "procgen_settings", 1, "[lavaland_theme_type]")
+
+ var/caves_theme_type = pick(subtypesof(/datum/caves_theme))
+ ASSERT(caves_theme_type)
+ caves_theme = new caves_theme_type
+ log_startup_progress("We feel like [caves_theme.name] today...")
+ SSblackbox.record_feedback("text", "procgen_settings", 1, "[caves_theme_type]")
- cave_theme = pick(BLOCKED_BURROWS, CLASSIC_CAVES, DEADLY_DEEPROCK)
- log_startup_progress("We feel like [cave_theme] today...")
// Load all Z level templates
preloadTemplates()
preloadTemplates(path = "code/modules/unit_tests/atmos/")
@@ -89,7 +94,8 @@ SUBSYSTEM_DEF(mapping)
seedRuins(list(level_name_to_num(MINING)), GLOB.configuration.ruins.lavaland_ruin_budget, /area/lavaland/surface/outdoors/unexplored, GLOB.lava_ruins_templates)
if(lavaland_theme)
lavaland_theme.setup()
- lavaland_theme.setup_caves()
+ if(caves_theme)
+ caves_theme.setup()
var/time_spent = stop_watch(lavaland_setup_timer)
log_startup_progress("Successfully populated lavaland in [time_spent]s.")
else
diff --git a/code/controllers/subsystem/processing/SSstation.dm b/code/controllers/subsystem/processing/SSstation.dm
index 73fe2a6f2364..64a285813d33 100644
--- a/code/controllers/subsystem/processing/SSstation.dm
+++ b/code/controllers/subsystem/processing/SSstation.dm
@@ -18,9 +18,9 @@ PROCESSING_SUBSYSTEM_DEF(station)
/datum/controller/subsystem/processing/station/proc/SetupTraits()
if(fexists("data/next_traits.txt"))
- var/forced_traits_contents = file2list("data/next_traits.txt")
+ var/forced_traits_contents = file2text("data/next_traits.txt")
fdel("data/next_traits.txt")
- var/list/temp_list = splittext(forced_traits_contents[1], ",")
+ var/list/temp_list = json_decode(forced_traits_contents)
for(var/trait_text_path in temp_list)
var/station_trait_path = text2path(trait_text_path)
diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm
index cbf6e6940e7a..d525b295db3d 100644
--- a/code/datums/components/_component.dm
+++ b/code/datums/components/_component.dm
@@ -441,6 +441,14 @@
return new_comp
return old_comp
+/**
+ * Removes the component from the datum
+ */
+/datum/proc/DeleteComponent(component_to_nuke)
+ var/datum/component/removing = GetComponent(component_to_nuke)
+ if(istype(removing, component_to_nuke) && !QDELETED(removing))
+ qdel(removing)
+
/**
* Get existing component of type, or create it and return a reference to it
*
@@ -458,7 +466,7 @@
/**
* Removes the component from parent, ends up with a null parent
*/
-/datum/component/proc/RemoveComponent()
+/datum/component/proc/UnlinkComponent()
if(!parent)
return
var/datum/old_parent = parent
@@ -467,6 +475,13 @@
parent = null
SEND_SIGNAL(old_parent, COMSIG_COMPONENT_REMOVING, src)
+/**
+ * Deletes the component and removes it from parent.
+ */
+/datum/component/proc/RemoveComponent() // This really is just a wrapper to pretend that we're using sane procs to fully remove a component
+ if(!QDELETED(src))
+ qdel(src)
+
/**
* Transfer this component to another parent
*
@@ -479,7 +494,7 @@
if(!target || target.parent == src)
return
if(target.parent)
- target.RemoveComponent()
+ target.UnlinkComponent()
target.parent = src
var/result = target.PostTransfer()
switch(result)
diff --git a/code/datums/components/surgery_initiator.dm b/code/datums/components/surgery_initiator.dm
index 54fd99d2cf84..9f476ba089da 100644
--- a/code/datums/components/surgery_initiator.dm
+++ b/code/datums/components/surgery_initiator.dm
@@ -67,8 +67,8 @@
SIGNAL_HANDLER // COMSIG_ATOM_UPDATE_SHARPNESS
var/obj/item/P = parent
if(!P.sharp)
+ UnlinkComponent()
RemoveComponent()
- qdel(src)
/// Does the surgery initiation.
/datum/component/surgery_initiator/proc/initiate_surgery_moment(datum/source, atom/target, mob/user)
diff --git a/code/datums/diseases/zombie_virus.dm b/code/datums/diseases/zombie_virus.dm
index 1bd7beb6681f..37b96d68420f 100644
--- a/code/datums/diseases/zombie_virus.dm
+++ b/code/datums/diseases/zombie_virus.dm
@@ -148,7 +148,7 @@
/datum/disease/zombie/cure()
affected_mob.mind?.remove_antag_datum(/datum/antagonist/zombie)
REMOVE_TRAIT(affected_mob, TRAIT_I_WANT_BRAINS, ZOMBIE_TRAIT)
- qdel(affected_mob.GetComponent(/datum/component/zombie_regen))
+ affected_mob.DeleteComponent(/datum/component/zombie_regen)
affected_mob.med_hud_set_health()
affected_mob.med_hud_set_status()
return ..()
diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm
index 2551697436a4..5b8d927ceb6f 100644
--- a/code/datums/outfits/outfit_admin.dm
+++ b/code/datums/outfits/outfit_admin.dm
@@ -1576,7 +1576,8 @@
if(istype(I))
apply_to_card(I, H, list(ACCESS_MAINT_TUNNELS), "Solar Federation Infilitrator", "lifetimeid")
- qdel(H.GetComponent(/datum/component/footstep)) // they're literally stealth
+ H.DeleteComponent(/datum/component/footstep)
+
var/datum/martial_art/cqc/CQC = new()
CQC.teach(H)
diff --git a/code/datums/station_traits/admin_panel.dm b/code/datums/station_traits/admin_panel.dm
index 9e088d8ea610..6c11de92f122 100644
--- a/code/datums/station_traits/admin_panel.dm
+++ b/code/datums/station_traits/admin_panel.dm
@@ -101,7 +101,7 @@
future_traits = new_future_traits
fdel("data/next_traits.txt") //Delete it.
var/F = file("data/next_traits.txt")
- F << params["station_traits"]
+ F << json_encode(params["station_traits"])
return TRUE
if("clear_future_traits")
diff --git a/code/game/area/areas/mining_areas.dm b/code/game/area/areas/mining_areas.dm
index ffe68fa46fd0..c67f97320d98 100644
--- a/code/game/area/areas/mining_areas.dm
+++ b/code/game/area/areas/mining_areas.dm
@@ -160,6 +160,9 @@
name = "Lavaland Wastes"
outdoors = TRUE
+/area/lavaland/surface/outdoors/legion_arena
+ name = "Legion Arena"
+
/// monsters and ruins spawn here
/area/lavaland/surface/outdoors/unexplored
icon_state = "unexplored"
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 401a22ead042..d623ec9dc290 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -1002,7 +1002,7 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons)
if(!QDELETED(healthy_green_glow))
healthy_green_glow.strength = max(0, (healthy_green_glow.strength - (RAD_BACKGROUND_RADIATION * clean_factor)))
if(healthy_green_glow.strength <= RAD_BACKGROUND_RADIATION)
- qdel(healthy_green_glow)
+ healthy_green_glow.RemoveComponent()
/obj/effect/decal/cleanable/blood/clean_blood(radiation_clean = FALSE)
return // While this seems nonsensical, clean_blood isn't supposed to be used like this on a blood decal.
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index e6d9a5a3af3a..ba00d8766223 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -677,9 +677,7 @@
/// Easy way to remove the component when the fun has been played out
/atom/movable/proc/stop_deadchat_plays()
- var/datum/component/deadchat_control/comp = GetComponent(/datum/component/deadchat_control)
- if(!QDELETED(comp))
- qdel(comp)
+ DeleteComponent(/datum/component/deadchat_control)
/atom/movable/vv_get_dropdown()
. = ..()
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
index c22b31f3cd74..9593ccc5c406 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
@@ -53,6 +53,8 @@
/datum/surgery_step/internal/extract_organ
name = "remove heart"
accept_hand = 1
+ preop_sound = 'sound/surgery/organ1.ogg'
+ success_sound = 'sound/surgery/organ2.ogg'
time = 32
var/obj/item/organ/internal/IC = null
@@ -86,6 +88,8 @@
/datum/surgery_step/internal/gland_insert
name = "insert gland"
allowed_tools = list(/obj/item/organ/internal/heart/gland = 100)
+ preop_sound = 'sound/surgery/organ2.ogg'
+ success_sound = 'sound/surgery/organ1.ogg'
time = 32
/datum/surgery_step/internal/gland_insert/begin_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/game/gamemodes/miniantags/guardian/guardian.dm b/code/game/gamemodes/miniantags/guardian/guardian.dm
index 1901ec93ba95..a306b41eb32b 100644
--- a/code/game/gamemodes/miniantags/guardian/guardian.dm
+++ b/code/game/gamemodes/miniantags/guardian/guardian.dm
@@ -125,7 +125,7 @@
return ..()
/mob/living/simple_animal/hostile/guardian/Move() //Returns to summoner if they move out of range
- ..()
+ . = ..()
snapback()
/mob/living/simple_animal/hostile/guardian/death(gibbed)
diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm
index 7ea202bf802e..fb6e69fdb877 100644
--- a/code/game/jobs/job/support.dm
+++ b/code/game/jobs/job/support.dm
@@ -473,7 +473,7 @@
if(visualsOnly)
return
- qdel(H.GetComponent(/datum/component/footstep))
+ H.DeleteComponent(/datum/component/footstep)
/datum/outfit/job/mime/on_mind_initialize(mob/living/carbon/human/H)
. = ..()
diff --git a/code/game/machinery/vendors/departmental_vendors.dm b/code/game/machinery/vendors/departmental_vendors.dm
index 069f677f5b4c..d19ccc0ea9bd 100644
--- a/code/game/machinery/vendors/departmental_vendors.dm
+++ b/code/game/machinery/vendors/departmental_vendors.dm
@@ -208,6 +208,7 @@
/obj/item/seeds/orange = 3,
/obj/item/seeds/peanuts = 3,
/obj/item/seeds/pineapple = 3,
+ /obj/item/seeds/plum = 3,
/obj/item/seeds/poppy = 3,
/obj/item/seeds/potato = 3,
/obj/item/seeds/pumpkin = 3,
diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm
index 7d8f64ed04e9..934c7c364bfc 100644
--- a/code/game/mecha/equipment/tools/work_tools.dm
+++ b/code/game/mecha/equipment/tools/work_tools.dm
@@ -479,10 +479,9 @@
/obj/item/kinetic_crusher/mecha/Initialize(mapload)
. = ..()
- var/datum/component/unwanted = GetComponent(/datum/component/parry)
- unwanted?.RemoveComponent()
- unwanted = GetComponent(/datum/component/two_handed)
- unwanted?.RemoveComponent()
+ DeleteComponent(/datum/component/parry)
+ DeleteComponent(/datum/component/two_handed)
+
/// This is only for the sake of internal checks in the crusher itself.
ADD_TRAIT(src, TRAIT_WIELDED, "mech[UID()]")
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index ecc63e2fd6a5..05d1197a40b4 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -51,6 +51,11 @@
countdown.color = countdown_colour
countdown.start()
+ // Only log an anomaly if it drops a core. Prevents logging of SM events and Vetus.
+ if(drops_core)
+ message_admins("\A [name] has spawned at [impact_area][ADMIN_COORDJMP(impact_area)]")
+ log_admin("\A [name] has spawned at [impact_area]")
+
/obj/effect/anomaly/Destroy()
GLOB.poi_list.Remove(src)
STOP_PROCESSING(SSobj, src)
@@ -82,17 +87,17 @@
if(drops_core)
aSignal.forceMove(drop_location())
aSignal = null
- // else, anomaly core gets deleted by qdel(src).
+ // Subtracts the time remaining from lifespan to get defuse time, converts it to seconds
+ var/defuse_time = round((lifespan - (death_time - world.time)) / 10)
+ SSblackbox.record_feedback("ledger", "anomaly_defuse_time", "[defuse_time]", "[type]")
+ // Else, anomaly core gets deleted by qdel(src).
qdel(src)
-
/obj/effect/anomaly/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/analyzer))
to_chat(user, "Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].")
-///////////////////////
-
/obj/effect/anomaly/grav
name = "gravitational anomaly"
icon_state = "shield2"
@@ -169,8 +174,7 @@
if(T && length(GLOB.gravity_generators["[T.z]"]))
var/obj/machinery/gravity_generator/main/G = pick(GLOB.gravity_generators["[T.z]"])
G.set_broken() //Requires engineering to fix the gravity generator, as it gets overloaded by the anomaly.
-
-/////////////////////
+ log_and_message_admins("A [name] has detonated a gravity generator")
/obj/effect/anomaly/flux
name = "flux wave anomaly"
@@ -222,12 +226,12 @@
/obj/effect/anomaly/flux/detonate()
if(explosive)
- explosion(src, 1, 4, 16, 18) //Low devastation, but hits a lot of stuff.
+ explosion(src, 1, 4, 16, 18, FALSE) // Set adminlog to FALSE for custom logging
+ message_admins("\A [name] has detonated at [impact_area][ADMIN_COORDJMP(impact_area)]")
+ log_admin("\A [name] has detonated at [impact_area]")
else
new /obj/effect/particle_effect/sparks(loc)
-/////////////////////
-
/obj/effect/anomaly/bluespace
name = "bluespace anomaly"
icon = 'icons/obj/projectiles.dmi'
@@ -328,9 +332,6 @@
M.client.screen -= blueeffect
qdel(blueeffect)
-
-/////////////////////
-
/obj/effect/anomaly/pyro
name = "pyroclastic anomaly"
icon_state = "mustard"
@@ -365,6 +366,9 @@
/obj/effect/anomaly/pyro/detonate()
if(produces_slime)
INVOKE_ASYNC(src, PROC_REF(makepyroslime))
+ if(drops_core)
+ message_admins("\A [name] has detonated at [impact_area][ADMIN_COORDJMP(impact_area)]")
+ log_admin("\A [name] has detonated at [impact_area]")
/obj/effect/anomaly/pyro/proc/makepyroslime()
var/turf/simulated/T = get_turf(src)
@@ -391,8 +395,6 @@
dust_if_respawnable(chosen)
log_game("[key_name(S.key)] was made into a slime by pyroclastic anomaly at [AREACOORD(T)].")
-/////////////////////
-
/obj/effect/anomaly/cryo
name = "cryogenic anomaly"
desc = "Hope you brought a jacket!"
@@ -466,8 +468,8 @@
air.set_sleeping_agent(3000)
air.set_carbon_dioxide(3000)
T.blind_release_air(air)
-
-/////////////////////
+ message_admins("\A [name] has detonated at [impact_area][ADMIN_COORDJMP(impact_area)]")
+ log_admin("\A [name] has detonated at [impact_area]")
/obj/effect/anomaly/bhole
name = "vortex anomaly"
diff --git a/code/game/objects/effects/spawners/depot_spawners.dm b/code/game/objects/effects/spawners/depot_spawners.dm
index 49742158d155..e2e380831927 100644
--- a/code/game/objects/effects/spawners/depot_spawners.dm
+++ b/code/game/objects/effects/spawners/depot_spawners.dm
@@ -37,14 +37,14 @@
name = "33pc trap pizza"
icon_state = "pizzabox"
loot = list(
- /obj/item/pizzabox/pepperoni = 7, // Higher weight as a pizza bomb looks like pepperoni by default
- /obj/item/pizzabox/pizza_bomb/autoarm = 7,
+ /obj/item/pizzabox/pizza_bomb/autoarm = 4,
/obj/item/pizzabox/firecracker = 1,
/obj/item/pizzabox/garlic = 1,
/obj/item/pizzabox/hawaiian = 1,
/obj/item/pizzabox/margherita = 1,
/obj/item/pizzabox/meat = 1,
/obj/item/pizzabox/mushroom = 1,
+ /obj/item/pizzabox/pepperoni = 1,
/obj/item/pizzabox/vegetable = 1,
)
@@ -58,12 +58,16 @@
/obj/effect/spawner/random/syndicate/trapped_documents
name = "50pc trapped documents"
icon_state = "folder"
+ spawn_inside = /obj/structure/closet/secure_closet/syndicate/depot
loot = list(
/obj/item/documents/syndicate/yellow,
/obj/item/documents/syndicate/yellow/trapped,
)
// Loot
+/obj/effect/spawner/random/syndicate/loot
+ spawn_inside = /obj/structure/closet/secure_closet/syndicate/depot
+
/obj/effect/spawner/random/syndicate/loot/common
name = "syndicate depot loot, common"
icon_state = "loot"
@@ -87,6 +91,7 @@
/obj/effect/spawner/random/syndicate/loot/stetchkin
name = "syndicate depot loot, 20pct stetchkin"
icon_state = "stetchkin"
+ spawn_inside = null
spawn_loot_chance = 80
loot = list(
/obj/item/gun/projectile/automatic/pistol,
@@ -155,6 +160,7 @@
/obj/effect/spawner/random/syndicate/loot/armory
name = "syndicate depot loot, armory"
+ spawn_inside = /obj/structure/closet/secure_closet/syndicate/depot/armory
// Combat orientated items that could give the player an advantage if an antag messes with them.
loot = list(
/obj/item/autosurgeon/organ/syndicate/oneuse/razorwire,
@@ -167,6 +173,7 @@
/obj/item/shield/energy,
/obj/item/storage/box/syndie_kit/teleporter,
/obj/item/weaponcrafting/gunkit/universal_gun_kit,
+ /obj/item/mod/control/pre_equipped/traitor_elite
)
// Layout-affecting spawns
diff --git a/code/game/objects/effects/spawners/random/random_spawner.dm b/code/game/objects/effects/spawners/random/random_spawner.dm
index 880454842f71..1120de174df5 100644
--- a/code/game/objects/effects/spawners/random/random_spawner.dm
+++ b/code/game/objects/effects/spawners/random/random_spawner.dm
@@ -35,6 +35,8 @@
var/spawn_random_angle = FALSE
/// Whether blackbox should record when the spawner spawns.
var/record_spawn = FALSE
+ /// Where do we want to spawn an item (closet, safe etc.)
+ var/spawn_inside
// Brief explanation:
// Rather then setting up and then deleting spawners, we block all atomlike setup
@@ -57,6 +59,9 @@
var/list/spawn_locations = get_spawn_locations(spawn_scatter_radius)
var/spawn_loot_count = isnull(lootcount_override) ? src.spawn_loot_count : lootcount_override
+ if(spawn_inside)
+ new spawn_inside(loc)
+
if(spawn_all_loot)
spawn_loot_count = INFINITY
spawn_loot_double = FALSE
@@ -71,6 +76,8 @@
var/loot_spawned = 0
var/pixel_divider = FLOOR(spawn_random_offset_max_pixels / spawn_loot_split_pixel_offsets, 1)
while((spawn_loot_count-loot_spawned) && length(loot))
+ loot_spawned++
+
var/lootspawn = pick_weight_recursive(loot)
if(!spawn_loot_double)
loot.Remove(lootspawn)
@@ -79,6 +86,10 @@
if(spawn_scatter_radius > 0 && length(spawn_locations))
spawn_loc = pick(spawn_locations)
+ if(ispath(lootspawn, /turf))
+ spawn_loc.ChangeTurf(lootspawn)
+ continue
+
var/atom/movable/spawned_loot = make_item(spawn_loc, lootspawn)
spawned_loot.setDir(dir)
@@ -95,7 +106,6 @@
var/column = FLOOR(loot_spawned / pixel_divider, 1)
spawned_loot.pixel_x = spawn_loot_split_pixel_offsets * (loot_spawned % pixel_divider) + (column * spawn_loot_split_pixel_offsets)
spawned_loot.pixel_y = spawn_loot_split_pixel_offsets * (loot_spawned % pixel_divider)
- loot_spawned++
/**
* Makes the actual item related to our spawner. If `record_spawn` is `TRUE`,
diff --git a/code/game/objects/effects/spawners/random_barrier.dm b/code/game/objects/effects/spawners/random_barrier.dm
index 385b0c38ace4..0843419470d1 100644
--- a/code/game/objects/effects/spawners/random_barrier.dm
+++ b/code/game/objects/effects/spawners/random_barrier.dm
@@ -1,72 +1,58 @@
-/obj/effect/spawner/random_barrier
- name = "random tile"
- icon = 'icons/effects/spawner_icons.dmi'
- icon_state = "questionmark"
- var/list/result = list(
- /turf/simulated/floor/plasteel = 1,
- /turf/simulated/wall = 1,
- /obj/structure/falsewall = 1,
- /obj/effect/spawner/window/reinforced = 1,
- /obj/machinery/door/airlock = 1,
- /obj/machinery/door/airlock/welded = 1,
- /obj/structure/barricade/wooden = 1)
-
-// This needs to come before the initialization wave because
-// the thing it creates might need to be initialized too
-/obj/effect/spawner/random_barrier/Initialize()
- . = ..()
- var/turf/T = get_turf(src)
- if(!T)
- CRASH("Barrier spawner placed in nullspace!")
- var/thing_to_place = pickweight(result)
- if(ispath(thing_to_place, /turf))
- T.ChangeTurf(thing_to_place)
- else
- new thing_to_place(T)
- return INITIALIZE_HINT_QDEL
+/obj/effect/spawner/random/barrier
+ name = "random barrier spawner"
+ icon = 'icons/effects/random_spawners.dmi'
+ icon_state = "barrier"
+ loot = list(
+ /obj/effect/spawner/window/reinforced,
+ /obj/machinery/door/airlock,
+ /obj/machinery/door/airlock/welded,
+ /obj/structure/barricade/wooden,
+ /obj/structure/falsewall,
+ /turf/simulated/floor/plasteel,
+ /turf/simulated/wall,
+ )
-/obj/effect/spawner/random_barrier/wall_probably
+/obj/effect/spawner/random/barrier/wall_probably
name = "probably a wall"
- icon_state = "girder"
- result = list(
- /turf/simulated/wall = 9,
- /obj/structure/falsewall = 1)
-
-/obj/effect/spawner/random_barrier/floor_probably
- name = "probably a floor"
- result = list(
- /turf/simulated/floor/plasteel = 3,
- /turf/simulated/wall = 1)
+ icon_state = "wall"
+ loot = list(
+ /obj/structure/falsewall = 1,
+ /turf/simulated/wall = 9,
+ )
-/obj/effect/spawner/random_barrier/obstruction
+/obj/effect/spawner/random/barrier/obstruction
name = "obstruction"
icon_state = "barrier"
- result = list(
- /turf/simulated/wall = 1,
- /obj/structure/falsewall = 1,
- /obj/structure/barricade/wooden = 1,
- /obj/machinery/door/airlock/welded = 1)
+ loot = list(
+ /obj/machinery/door/airlock/welded,
+ /obj/structure/barricade/wooden,
+ /obj/structure/falsewall,
+ /turf/simulated/wall,
+ )
/// these have no access restrictions, so for internal maintenance only
-/obj/effect/spawner/random_barrier/possibly_welded_airlock
+/obj/effect/spawner/random/barrier/possibly_welded_airlock
name = "possibly welded airlock"
icon_state = "airlock"
- result = list(
- /obj/machinery/door/airlock = 3,
- /obj/machinery/door/airlock/welded = 1)
+ loot = list(
+ /obj/machinery/door/airlock = 3,
+ /obj/machinery/door/airlock/welded = 1,
+ )
-/obj/effect/spawner/random_spawners/grille_often
+/obj/effect/spawner/random/barrier/grille_often
name = "grille often"
icon_state = "grille"
- result = list(
- /obj/structure/grille = 8,
- /obj/structure/grille/broken = 4,
- /turf/simulated/floor/plating = 2)
+ loot = list(
+ /obj/structure/grille = 8,
+ /obj/structure/grille/broken = 4,
+ /turf/simulated/floor/plating = 2,
+ )
-/obj/effect/spawner/random_spawners/grille_maybe
+/obj/effect/spawner/random/barrier/grille_maybe
name = "grille maybe"
icon_state = "grille"
- result = list(
- /obj/structure/grille = 2,
- /obj/structure/grille/broken = 2,
- /turf/simulated/floor/plating = 5)
+ loot = list(
+ /obj/structure/grille = 2,
+ /obj/structure/grille/broken = 2,
+ /turf/simulated/floor/plating = 5,
+ )
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 8ac39ab3c0ed..604a8f0e13d5 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -345,7 +345,7 @@
name = "glowing slime extract"
desc = "A glowing ball of what appears to be amber."
icon = 'icons/obj/lighting.dmi'
- icon_state = "floor1" //not a slime extract sprite but... something close enough!
+ icon_state = "slime-on"
item_state = "slime"
w_class = WEIGHT_CLASS_TINY
brightness_on = 6
diff --git a/code/game/objects/items/mountable_frames/frames.dm b/code/game/objects/items/mountable_frames/frames.dm
index 5823064a91a1..6da3982e04d1 100644
--- a/code/game/objects/items/mountable_frames/frames.dm
+++ b/code/game/objects/items/mountable_frames/frames.dm
@@ -22,15 +22,15 @@
/obj/item/mounted/frame/try_build(turf/on_wall, mob/user)
if(!..())
- return
+ return FALSE
var/turf/build_turf = get_turf(user)
if((mount_requirements & MOUNTED_FRAME_SIMFLOOR) && !isfloorturf(build_turf))
to_chat(user, "[src] cannot be placed on this spot.")
- return
+ return FALSE
if(mount_requirements & MOUNTED_FRAME_NOSPACE)
var/area/my_area = get_area(build_turf)
if(!istype(my_area) || !my_area.requires_power || isspacearea(my_area))
to_chat(user, "[src] cannot be placed in this area.")
- return
+ return FALSE
return TRUE
diff --git a/code/game/objects/items/mountable_frames/light_frames.dm b/code/game/objects/items/mountable_frames/light_frames.dm
index 7d31cf49a249..ab59c8c29521 100644
--- a/code/game/objects/items/mountable_frames/light_frames.dm
+++ b/code/game/objects/items/mountable_frames/light_frames.dm
@@ -22,6 +22,8 @@
newlight = new /obj/machinery/light_construct/small(constrloc)
if("tube")
newlight = new /obj/machinery/light_construct(constrloc)
+ if("floor")
+ newlight = new /obj/machinery/light_construct/floor(on_wall)
else
newlight = new /obj/machinery/light_construct/small(constrloc)
newlight.dir = constrdir
@@ -40,3 +42,13 @@
icon_state = "bulb-construct-item"
fixture_type = "bulb"
metal_sheets_refunded = 1
+
+/obj/item/mounted/frame/light_fixture/floor
+ name = "floor light fixture frame"
+ desc = "Used for building floor lights."
+ icon = 'icons/obj/lighting.dmi'
+ icon_state = "floor-construct-item"
+ fixture_type = "floor"
+ metal_sheets_refunded = 3
+ buildon_types = list(/turf/simulated/floor)
+ allow_floor_mounting = TRUE
diff --git a/code/game/objects/items/mountable_frames/mountables.dm b/code/game/objects/items/mountable_frames/mountables.dm
index c850bb5b6e9d..31fa665a51b5 100644
--- a/code/game/objects/items/mountable_frames/mountables.dm
+++ b/code/game/objects/items/mountable_frames/mountables.dm
@@ -3,35 +3,31 @@
/turf/simulated/mineral/ancient,
/turf/simulated/wall
)
+ var/allow_floor_mounting = FALSE
/obj/item/mounted/afterattack(atom/A, mob/user, proximity_flag)
- var/found_type = 0
- for(var/turf_type in src.buildon_types)
- if(istype(A, turf_type))
- found_type = 1
- break
-
- if(found_type)
+ if(is_type_in_list(A, buildon_types))
if(try_build(A, user, proximity_flag))
return do_build(A, user)
- else
- ..()
+ ..()
/obj/item/mounted/proc/try_build(turf/on_wall, mob/user, proximity_flag) //checks
if(!on_wall || !user)
- return
- if(proximity_flag != 1) //if we aren't next to the wall
- return
- if(!( get_dir(on_wall,user) in GLOB.cardinal))
- to_chat(user, "You need to be standing next to a wall to place \the [src].")
- return
+ return FALSE
+ if(!proximity_flag) //if we aren't next to the turf
+ return FALSE
+
+ if(!allow_floor_mounting)
+ if(!(get_dir(on_wall, user) in GLOB.cardinal))
+ to_chat(user, "You need to be standing next to [on_wall] to place [src].")
+ return FALSE
- if(gotwallitem(get_turf(user), get_dir(on_wall,user)))
- to_chat(user, "There's already an item on this wall!")
- return
+ if(gotwallitem(get_turf(user), get_dir(user, on_wall)))
+ to_chat(user, "There's already an item on this wall!")
+ return FALSE
- return 1
+ return TRUE
/obj/item/mounted/proc/do_build(turf/on_wall, mob/user) //the buildy bit after we pass the checks
return
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index 777564380bfe..75748a9dc986 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -17,6 +17,10 @@
var/list/items_to_add = list()
/// A list of replacement items will need to be placed into a cyborg module's `special_rechargable` list after this upgrade is installed.
var/list/special_rechargables = list()
+ /// Allow the same upgrade to be installed multiple times, FALSE by default
+ var/allow_duplicate = FALSE
+ /// Delete the module after installing it. For deleting upgrades that might be installed multiple times, like the rename/reset upgrades.
+ var/delete_after_install = FALSE
/**
* Called when someone clicks on a borg with an upgrade in their hand.
@@ -24,12 +28,19 @@
* Arguments:
* * R - the cyborg that was clicked on with an upgrade.
*/
-/obj/item/borg/upgrade/proc/action(mob/living/silicon/robot/R)
- if(!pre_install_checks(R))
+/obj/item/borg/upgrade/proc/action(mob/user, mob/living/silicon/robot/R)
+ if(!pre_install_checks(user, R))
return
+ if(!user.drop_item())
+ to_chat(user, "\The [src] is stuck to your hand, you cannot install it in [R]")
+ return FALSE
if(!do_install(R))
return
after_install(R)
+ if(delete_after_install)
+ qdel(src)
+ else
+ forceMove(R)
return TRUE
/**
@@ -38,13 +49,17 @@
* Arguments:
* * R - the cyborg that was clicked on with an upgrade.
*/
-/obj/item/borg/upgrade/proc/pre_install_checks(mob/living/silicon/robot/R)
+/obj/item/borg/upgrade/proc/pre_install_checks(mob/user, mob/living/silicon/robot/R)
if(R.stat == DEAD)
- to_chat(usr, "[src] will not function on a deceased cyborg.")
+ to_chat(user, "[src] will not function on a deceased cyborg.")
return
if(module_type && !istype(R.module, module_type))
- to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
- to_chat(usr, "There's no mounting point for the module!")
+ to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
+ to_chat(user, "There's no mounting point for the module!")
+ return
+ var/obj/item/borg/upgrade/u = locate(type) in R
+ if(u && !allow_duplicate)
+ to_chat(user, "This unit already has [src] installed!")
return
return TRUE
@@ -89,6 +104,7 @@
desc = "Used to reset a cyborg's module. Destroys any other upgrades applied to the cyborg."
icon_state = "cyborg_upgrade1"
require_module = TRUE
+ delete_after_install = TRUE
/obj/item/borg/upgrade/reset/do_install(mob/living/silicon/robot/R)
R.reset_module()
@@ -101,6 +117,7 @@
name = "cyborg reclassification board"
desc = "Used to rename a cyborg."
icon_state = "cyborg_upgrade1"
+ delete_after_install = TRUE
var/heldname = "default name"
/obj/item/borg/upgrade/rename/attack_self(mob/user)
@@ -125,6 +142,7 @@
name = "cyborg emergency reboot module"
desc = "Used to force a reboot of a disabled-but-repaired cyborg, bringing it back online."
icon_state = "cyborg_upgrade1"
+ delete_after_install = TRUE
/obj/item/borg/upgrade/restart/do_install(mob/living/silicon/robot/R)
if(R.health < 0)
@@ -150,10 +168,6 @@
origin_tech = "engineering=4;powerstorage=4"
/obj/item/borg/upgrade/thrusters/do_install(mob/living/silicon/robot/R)
- if(R.ionpulse)
- to_chat(usr, "This unit already has ion thrusters installed!")
- return
-
R.ionpulse = TRUE
return TRUE
@@ -170,11 +184,6 @@
var/mob/living/silicon/robot/cyborg
/obj/item/borg/upgrade/selfrepair/do_install(mob/living/silicon/robot/R)
- var/obj/item/borg/upgrade/selfrepair/U = locate() in R
- if(U)
- to_chat(usr, "This unit is already equipped with a self-repair module.")
- return
-
cyborg = R
icon_state = "selfrepair_off"
var/datum/action/A = new /datum/action/item_action/toggle(src)
@@ -259,11 +268,6 @@
origin_tech = "engineering=4;materials=5;programming=4"
/obj/item/borg/upgrade/vtec/do_install(mob/living/silicon/robot/R)
- for(var/obj/item/borg/upgrade/vtec/U in R.contents)
- to_chat(R, "A VTEC unit is already installed!")
- to_chat(usr, "There's no room for another VTEC unit!")
- return
-
R.slowdown_cap = 3.5
return TRUE
@@ -376,10 +380,6 @@
var/mob/living/silicon/robot/cyborg
/obj/item/borg/upgrade/floorbuffer/do_install(mob/living/silicon/robot/R)
- for(var/obj/item/borg/upgrade/floorbuffer/U in R)
- to_chat(R, "A floor buffer unit is already installed!")
- to_chat(usr, "There's no room for another floor buffer unit!")
- return
cyborg = R
var/datum/action/A = new /datum/action/item_action/floor_buffer(src)
A.Grant(R)
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index fe49e58b5404..9510c01b0336 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -112,6 +112,7 @@ GLOBAL_LIST_INIT(metal_recipes, list(
new /datum/stack_recipe("grenade casing", /obj/item/grenade/chem_grenade),
new /datum/stack_recipe("light fixture frame", /obj/item/mounted/frame/light_fixture, 2),
new /datum/stack_recipe("small light fixture frame", /obj/item/mounted/frame/light_fixture/small, 1),
+ new /datum/stack_recipe("floor light fixture frame", /obj/item/mounted/frame/light_fixture/floor, 3),
null,
new /datum/stack_recipe("apc frame", /obj/item/mounted/frame/apc_frame, 2),
new /datum/stack_recipe("air alarm frame", /obj/item/mounted/frame/alarm_frame, 2),
diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm
index b2e0fee35fdd..212088822e73 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -29,7 +29,7 @@
. += "The fuze is set to [det_time / 10] second\s."
else
. += "[src] is set for instant detonation."
-
+
if(modifiable_timer)
. += "Use a screwdriver to modify the time on the fuze."
else
@@ -125,8 +125,4 @@
if(!HAS_TRAIT(src, TRAIT_CMAGGED))
return
REMOVE_TRAIT(src, TRAIT_CMAGGED, "cmagged grenade")
- var/datum/component/bomberang = GetComponent(/datum/component/boomerang)
- if(!bomberang)
- return
- bomberang.RemoveComponent()
- qdel(bomberang)
+ DeleteComponent(/datum/component/boomerang)
diff --git a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm
index 96893ff65c9e..9aeedf0b9d83 100644
--- a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm
+++ b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm
@@ -346,12 +346,17 @@
//////////////////////////////
/obj/item/melee/energy/sword/pirate
name = "energy cutlass"
- desc = "Arrrr matey."
+ desc = "A crude copy of syndicate technology. Favored among space pirates for its small form factor while inactive. Arrrr, matey!"
force_on = 20
+ throwforce_on = 10 // No PvP shenanigans, this is main weapon in PvE explorer gameplay and can be obtained very easy
+ embed_chance = 45
+ embedded_impact_pain_multiplier = 4
+ armour_penetration_percentage = 0
+ armour_penetration_flat = 0
icon_state = "cutlass0"
icon_state_on = "cutlass1"
light_color = LIGHT_COLOR_RED
- origin_tech = "combat=3;magnets=4;syndicate=2"
+ origin_tech = "combat=3;magnets=4"
//////////////////////////////
// MARK: HARDLIGHT BLADE
diff --git a/code/game/objects/items/weapons/melee/melee_misc.dm b/code/game/objects/items/weapons/melee/melee_misc.dm
index 9e6d3d543769..c374a870e6b2 100644
--- a/code/game/objects/items/weapons/melee/melee_misc.dm
+++ b/code/game/objects/items/weapons/melee/melee_misc.dm
@@ -39,6 +39,9 @@
hitsound = 'sound/weapons/rapierhit.ogg'
materials = list(MAT_METAL = 1000)
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF // Theft targets should be hard to destroy
+ // values for slapping
+ var/slap_sound = 'sound/effects/woodhit.ogg'
+ COOLDOWN_DECLARE(slap_cooldown)
/obj/item/melee/saber/examine(mob/user)
. = ..()
@@ -58,6 +61,29 @@
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = NON_PROJECTILE_ATTACKS)
RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(alert_admins_on_destroy))
+/obj/item/melee/saber/attack(mob/living/target, mob/living/user)
+ if(user.a_intent != INTENT_HELP || !ishuman(target))
+ return ..()
+ if(!COOLDOWN_FINISHED(src, slap_cooldown))
+ return
+ var/mob/living/carbon/human/H = target
+ if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
+ user.visible_message("[user] accidentally slaps [user.p_themselves()] with [src]!", \
+ "You accidentally slap yourself with [src]!")
+ slap(user, user)
+ else
+ user.visible_message("[user] slaps [H] with the flat of the blade!", \
+ "You slap [H] with the flat of the blade!")
+ slap(target, user)
+
+/obj/item/melee/saber/proc/slap(mob/living/carbon/human/target, mob/living/user)
+ user.do_attack_animation(target, ATTACK_EFFECT_DISARM)
+ playsound(loc, slap_sound, 50, TRUE, -1)
+ target.AdjustConfused(4 SECONDS, 0, 4 SECONDS)
+ target.apply_damage(10, STAMINA)
+ add_attack_logs(user, target, "Slapped by [src]", ATKLOG_ALL)
+ COOLDOWN_START(src, slap_cooldown, 4 SECONDS)
+
/obj/item/melee/saber/suicide_act(mob/user)
user.visible_message(pick("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!", \
"[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
diff --git a/code/game/objects/items/weapons/storage/fancy.dm b/code/game/objects/items/weapons/storage/fancy.dm
index 49f940b18350..4d81698c757c 100644
--- a/code/game/objects/items/weapons/storage/fancy.dm
+++ b/code/game/objects/items/weapons/storage/fancy.dm
@@ -103,8 +103,9 @@
throwforce = 2
slot_flags = SLOT_FLAG_BELT
-/obj/item/storage/fancy/candle_box/full
- icon_state = "candlebox5"
+/obj/item/storage/fancy/candle_box/Initialize(mapload)
+ . = ..()
+ update_icon(UPDATE_ICON_STATE)
/obj/item/storage/fancy/candle_box/full/populate_contents()
for(var/I in 1 to storage_slots)
diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm
index 41affd7a4fc4..80e9ae91f701 100644
--- a/code/game/objects/structures/aliens.dm
+++ b/code/game/objects/structures/aliens.dm
@@ -524,7 +524,8 @@
icon_state = "egg_hatched"
flick("egg_opening", src)
status = BURSTING
- qdel(GetComponent(/datum/component/proximity_monitor))
+ DeleteComponent(/datum/component/proximity_monitor)
+
addtimer(CALLBACK(src, PROC_REF(hatch)), 1.5 SECONDS)
///We now check HOW the hugger is hatching, kill carried from Burst() and obj_break()
diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm
index ab26beb2cf56..4b05102f5731 100644
--- a/code/game/objects/structures/lavaland/necropolis_tendril.dm
+++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm
@@ -88,7 +88,7 @@ GLOBAL_LIST_EMPTY(tendrils)
shake_camera(M, 15, 1)
playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, TRUE)
visible_message("The tendril falls inward, the ground around it widening into a yawning chasm!")
- for(var/turf/T in range(2,src))
+ for(var/turf/T in range(LAVALAND_TENDRIL_COLLAPSE_RANGE, src))
if(!T.density)
T.TerraformTurf(/turf/simulated/floor/chasm/straight_down/lava_land_surface)
qdel(src)
diff --git a/code/game/turfs/simulated/floor/asteroid_floors.dm b/code/game/turfs/simulated/floor/asteroid_floors.dm
index 44021a067a0d..e67c4a7c0f5e 100644
--- a/code/game/turfs/simulated/floor/asteroid_floors.dm
+++ b/code/game/turfs/simulated/floor/asteroid_floors.dm
@@ -1,7 +1,6 @@
/**********************Asteroid**************************/
-#define RECURSION_MAX 100
/turf/simulated/floor/plating/asteroid
gender = PLURAL
name = "asteroid sand"
@@ -186,168 +185,6 @@
nitrogen = 0
turf_type = /turf/simulated/floor/plating/asteroid/airless
-#define SPAWN_MEGAFAUNA "bluh bluh huge boss"
-#define SPAWN_BUBBLEGUM 6
-
-GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/megafauna/dragon = 4, /mob/living/simple_animal/hostile/megafauna/colossus = 2, /mob/living/simple_animal/hostile/megafauna/bubblegum = SPAWN_BUBBLEGUM, /mob/living/simple_animal/hostile/megafauna/ancient_robot = 4))
-
-/turf/simulated/floor/plating/asteroid/airless/cave
- var/length = 100
- var/list/mob_spawn_list
- var/list/megafauna_spawn_list
- var/list/flora_spawn_list
- var/sanity = 1
- var/forward_cave_dir = 1
- var/backward_cave_dir = 2
- var/going_backwards = TRUE
- var/has_data = FALSE
- /// Very important for making sure prod won't die due to poor RNG from cave spawns
- var/recursions = 0
- var/data_having_type = /turf/simulated/floor/plating/asteroid/airless/cave/has_data
- turf_type = /turf/simulated/floor/plating/asteroid/airless
-
-/// subtype for producing a tunnel with given data
-/turf/simulated/floor/plating/asteroid/airless/cave/has_data
- has_data = TRUE
-
-/turf/simulated/floor/plating/asteroid/airless/cave/volcanic
- mob_spawn_list = list(/obj/effect/landmark/mob_spawner/goliath = 50, /obj/structure/spawner/lavaland/goliath = 3,
- /obj/effect/landmark/mob_spawner/watcher = 40, /obj/structure/spawner/lavaland = 2,
- /obj/effect/landmark/mob_spawner/legion = 30, /obj/structure/spawner/lavaland/legion = 3,
- SPAWN_MEGAFAUNA = 6, /obj/effect/landmark/mob_spawner/goldgrub = 10, /obj/effect/landmark/mob_spawner/gutlunch = 4,
- /obj/effect/landmark/mob_spawner/abandoned_minebot = 6)
-
- data_having_type = /turf/simulated/floor/plating/asteroid/airless/cave/volcanic/has_data
- turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface
- oxygen = LAVALAND_OXYGEN
- nitrogen = LAVALAND_NITROGEN
- temperature = LAVALAND_TEMPERATURE
-
-/// subtype for producing a tunnel with given data
-/turf/simulated/floor/plating/asteroid/airless/cave/volcanic/has_data
- has_data = TRUE
-
-/turf/simulated/floor/plating/asteroid/airless/cave/Initialize(mapload)
- if(!mob_spawn_list)
- mob_spawn_list = list(/mob/living/simple_animal/hostile/asteroid/goldgrub = 1, /mob/living/simple_animal/hostile/asteroid/goliath = 5, /mob/living/simple_animal/hostile/asteroid/basilisk = 4, /mob/living/simple_animal/hostile/asteroid/hivelord = 3)
- if(!megafauna_spawn_list)
- megafauna_spawn_list = GLOB.megafauna_spawn_list
- if(!flora_spawn_list)
- flora_spawn_list = list(/obj/structure/flora/ash/leaf_shroom = 2, /obj/structure/flora/ash/cap_shroom = 2, /obj/structure/flora/ash/stem_shroom = 2, /obj/structure/flora/ash/cacti = 1, /obj/structure/flora/ash/tall_shroom = 2, /obj/structure/flora/ash/rock/style_random = 1)
- if(SSmapping.cave_theme == BLOCKED_BURROWS)
- flora_spawn_list += list(/obj/structure/flora/ash/rock/style_random = 3) //Let us see how this goes
- . = ..()
- if(!has_data)
- produce_tunnel_from_data()
-
-/turf/simulated/floor/plating/asteroid/airless/cave/proc/get_cave_data(set_length, exclude_dir = -1)
- // If set_length (arg1) isn't defined, get a random length; otherwise assign our length to the length arg.
- if(!set_length)
- length = rand(25, 50)
- else
- length = set_length
-
- // Get our directiosn
- forward_cave_dir = pick(GLOB.alldirs - exclude_dir)
- // Get the opposite direction of our facing direction
- backward_cave_dir = angle2dir(dir2angle(forward_cave_dir) + 180)
-
-/turf/simulated/floor/plating/asteroid/airless/cave/proc/produce_tunnel_from_data(tunnel_length, excluded_dir = -1)
- if(!tunnel_length)//This is a sub cave do not overide repeat do not overide
- get_cave_data(tunnel_length, excluded_dir)
- switch(SSmapping.cave_theme)
- if(BLOCKED_BURROWS) //Longer on average
- get_cave_data(rand(40, 60), excluded_dir)
- if(CLASSIC_CAVES) //Classic
- get_cave_data(tunnel_length, excluded_dir)
- if(DEADLY_DEEPROCK) //Smaller into large rooms with more mobs.
- get_cave_data(rand(20, 40), excluded_dir)
- if(prob(25)) //Less caves due to big openings. This may lead to fauna inside 1x1 rooms. We'll call that a suprise mechanic
- SpawnFloor(src, 75) //now with extra suprise
- return
- // Make our tunnels
- make_tunnel(forward_cave_dir)
- if(going_backwards)
- make_tunnel(backward_cave_dir)
- // Kill ourselves by replacing ourselves with a normal floor.
- SpawnFloor(src)
-
-/turf/simulated/floor/plating/asteroid/airless/cave/proc/make_tunnel(dir)
- var/turf/simulated/mineral/tunnel = src
- var/next_angle = pick(45, -45)
-
- for(var/i in 1 to length)
- ++recursions
- if(recursions > RECURSION_MAX)
- break
- if(!sanity)
- break
-
- var/list/L = list(45)
- if(ISODD(dir2angle(dir)) && (!(SSmapping.cave_theme == BLOCKED_BURROWS) || prob(15)))
- L += -45
-
- // Expand the edges of our tunnel
- for(var/edge_angle in L)
- var/turf/simulated/mineral/edge = get_step(tunnel, angle2dir(dir2angle(dir) + edge_angle))
- if(istype(edge))
- SpawnFloor(edge)
-
- if(!sanity)
- break
-
- // Move our tunnel forward
- tunnel = get_step(tunnel, dir)
-
- // Separate ruin area check here because of the raw ChangeTurf call that
- // doesn't go through SpawnFloor/Flora/Monster.
- if(istype(tunnel) && !istype(tunnel.loc, /area/ruin))
- // Small chance to have forks in our tunnel; otherwise dig our tunnel.
- var/caveprob = 20
- switch(SSmapping.cave_theme)
- if(BLOCKED_BURROWS) //Longer on average
- caveprob = 30 //More splitting
- if(DEADLY_DEEPROCK) //Smaller into large rooms with more mobs.
- caveprob = 10 //Less splitting
- if(i > 3 && prob(caveprob))
- var/turf/simulated/floor/plating/asteroid/airless/cave/C = tunnel.ChangeTurf(data_having_type, FALSE, TRUE)
- C.recursions = recursions
- C.going_backwards = FALSE
- C.produce_tunnel_from_data(rand(10, 15), dir)
- else
- SpawnFloor(tunnel)
- else //if(!istype(tunnel, src.parent)) // We hit space/normal/wall, stop our tunnel.
- break
-
- // Chance to change our direction left or right.
- if(i > 2 && prob(33))
- // We can't go a full loop though
- if(!SSmapping.cave_theme == BLOCKED_BURROWS || prob(60))
- next_angle = -next_angle
- setDir(angle2dir(dir2angle(dir) )+ next_angle)
- if(length -2 == i && !has_data) //Branches will not make this
- SpawnRoom(tunnel)
-
-/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnRoom(turf/T)
- switch(SSmapping.cave_theme)
- if(DEADLY_DEEPROCK)
- var/tempradius = rand(10, 15)
- var/probmodifer = 43 * tempradius //Yes this is a magic number, it is a magic number that works well.
- for(var/turf/NT in circlerangeturfs(T, tempradius))
- var/distance = (max(get_dist(T, NT), 1)) //Get dist throws -1 if same turf
- if(prob(min(probmodifer / distance, 100)))
- if((ismineralturf(NT) || istype(NT, /turf/simulated/floor/plating/asteroid)) && !istype(NT.loc, /area/ruin)) //No spawning on lava / other ruins
- SpawnFloor(NT, 50) //Room has higher probabilty.
- if(prob(25))
- tempradius = round(tempradius / 3)
- var/turf/oasis_lake = pickweight(list(/turf/simulated/floor/lava/lava_land_surface = 4, /turf/simulated/floor/lava/lava_land_surface/plasma = 4, /turf/simulated/floor/chasm/straight_down/lava_land_surface = 4, /turf/simulated/floor/lava/mapping_lava = 6, /turf/simulated/floor/beach/away/water/lavaland_air = 1, /turf/simulated/floor/plating/asteroid = 1))
- if(oasis_lake == /turf/simulated/floor/plating/asteroid)
- new /obj/effect/spawner/oasisrock(T, tempradius)
- for(var/turf/oasis in circlerangeturfs(T, tempradius))
- if(istype(oasis.loc, /area/ruin))
- continue
- oasis.ChangeTurf(oasis_lake, ignore_air = TRUE)
-
/obj/effect/spawner/oasisrock
name = "Oasis rock spawner"
var/passed_radius
@@ -375,86 +212,6 @@ GLOBAL_LIST_INIT(megafauna_spawn_list, list(/mob/living/simple_animal/hostile/me
O.forceMove(pick_n_take(valid_turfs))
qdel(src)
-/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnFloor(turf/T, monsterprob = 30)
- if(istype(T.loc, /area/ruin))
- return
-
- for(var/S in RANGE_TURFS(1, src))
- var/turf/NT = S
- if(!NT || isspaceturf(NT) || istype(NT.loc, /area/lavaland/surface/outdoors/explored))
- sanity = 0
- break
- if(!sanity)
- return
- SpawnFlora(T)
-
- SpawnMonster(T, monsterprob)
- T.ChangeTurf(turf_type, FALSE, FALSE, TRUE)
-
-/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnMonster(turf/T, monsterprob = 30)
- if(istype(T.loc, /area/ruin))
- return
-
- if(prob(monsterprob))
- if(!istype(loc, /area/lavaland/surface/outdoors/unexplored))
- return
- var/randumb = pickweight(mob_spawn_list)
- while(randumb == SPAWN_MEGAFAUNA)
- if(istype(loc, /area/lavaland/surface/outdoors/unexplored/danger)) //this is danger. it's boss time.
- var/maybe_boss = pickweight(megafauna_spawn_list)
- if(megafauna_spawn_list[maybe_boss])
- randumb = maybe_boss
- else //this is not danger, don't spawn a boss, spawn something else
- randumb = pickweight(mob_spawn_list)
- var/scanrange = 12
- var/megafaunarange = 7
- switch(SSmapping.cave_theme)
- if(DEADLY_DEEPROCK)
- if(prob(50) && monsterprob > 30)
- scanrange = rand(4, 7)
- megafaunarange = scanrange
- for(var/thing in urange(scanrange, T)) //prevents mob clumps
- if(!ishostile(thing) && !istype(thing, /obj/structure/spawner))
- continue
- if((ismegafauna(randumb) || ismegafauna(thing)) && get_dist(T, thing) <= megafaunarange)
- return //if there's a megafauna within standard view don't spawn anything at all
- if(ispath(randumb, /obj/effect/landmark/mob_spawner) || istype(thing, /mob/living/simple_animal/hostile/asteroid))
- return //if the random is a standard mob, avoid spawning if there's another one within 12 tiles
- if((ispath(randumb, /obj/structure/spawner/lavaland) || istype(thing, /obj/structure/spawner/lavaland)) && get_dist(T, thing) <= 2)
- return //prevents tendrils spawning in each other's collapse range
-
- if(ispath(randumb, /mob/living/simple_animal/hostile/megafauna/bubblegum)) //there can be only one bubblegum, so don't waste spawns on it
- megafauna_spawn_list.Remove(randumb)
-
- if(ispath(randumb, /mob/living/simple_animal/hostile/megafauna/ancient_robot)) //same as above, we do not want multiple of these robots
- megafauna_spawn_list.Remove(randumb)
-
- new randumb(T)
- SSblackbox.record_feedback("tally", "lavaland_mob_spawns", 1, "[randumb]")
-
-#undef SPAWN_MEGAFAUNA
-#undef SPAWN_BUBBLEGUM
-#undef RECURSION_MAX
-
-/turf/simulated/floor/plating/asteroid/airless/cave/proc/SpawnFlora(turf/T)
- if(istype(T.loc, /area/ruin))
- return
-
- var/floraprob = 12
- switch(SSmapping.cave_theme)
- if(BLOCKED_BURROWS)
- floraprob = 30 //Lots of folliage, lots of blockage
- if(prob(floraprob))
- if(istype(loc, /area/lavaland/surface/outdoors/explored))
- return
- var/randumb = pickweight(flora_spawn_list)
- for(var/obj/structure/flora/ash/F in range(4, T)) //Allows for growing patches, but not ridiculous stacks of flora
- if(!istype(F, randumb))
- return
- new randumb(T)
-
-
-
/turf/simulated/floor/plating/asteroid/snow
gender = PLURAL
name = "snow"
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index eba6c7ace8c8..82e34dd3f79d 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -319,12 +319,11 @@
atmos_mode = ATMOS_MODE_NO_DECAY
/turf/simulated/floor/engine/singularity_pull(S, current_size)
- ..()
if(current_size >= STAGE_FIVE)
if(floor_tile)
if(prob(30))
new floor_tile(src)
- make_plating()
+ make_plating(TRUE)
else if(prob(30))
ReplaceWithLattice()
diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm
index 279acca967bf..3d9e34d57062 100644
--- a/code/game/turfs/simulated/minerals.dm
+++ b/code/game/turfs/simulated/minerals.dm
@@ -137,7 +137,7 @@
/turf/simulated/mineral/random
var/mineralSpawnChanceList = list(/turf/simulated/mineral/uranium = 5, /turf/simulated/mineral/diamond = 1, /turf/simulated/mineral/gold = 10,
/turf/simulated/mineral/silver = 12, /turf/simulated/mineral/plasma = 20, /turf/simulated/mineral/iron = 40, /turf/simulated/mineral/titanium = 11,
- /turf/simulated/mineral/gibtonite = 4, /turf/simulated/floor/plating/asteroid/airless/cave = 2, /turf/simulated/mineral/bscrystal = 1)
+ /turf/simulated/mineral/gibtonite = 4, /turf/simulated/mineral/bscrystal = 1)
//Currently, Adamantine won't spawn as it has no uses. -Durandan
var/mineralChance = 13
diff --git a/code/modules/awaymissions/mission_code/ruins/telecomns.dm b/code/modules/awaymissions/mission_code/ruins/telecomns.dm
index d151dfa849e9..117bd99d7e54 100644
--- a/code/modules/awaymissions/mission_code/ruins/telecomns.dm
+++ b/code/modules/awaymissions/mission_code/ruins/telecomns.dm
@@ -430,7 +430,8 @@ GLOBAL_LIST_EMPTY(telecomms_trap_tank)
/obj/structure/environmental_storytelling_holopad/proc/start_message(mob/living/carbon/human/H)
activated = TRUE
- qdel(GetComponent(/datum/component/proximity_monitor))
+ DeleteComponent(/datum/component/proximity_monitor)
+
icon_state = "holopad1"
update_icon(UPDATE_OVERLAYS)
var/obj/effect/overlay/hologram = new(get_turf(src))
diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index 178c8f3bcb76..473953906f52 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -87,7 +87,8 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
"1016" = 100, // CHANNEL_FIREALARM
"1015" = 100, // CHANNEL_ASH_STORM
"1014" = 100, // CHANNEL_RADIO_NOISE
- "1013" = 100 // CHANNEL_BOSS_MUSIC
+ "1013" = 100, // CHANNEL_BOSS_MUSIC
+ "1011" = 100 // CHANNEL_SURGERY_SOUNDS
)
/// The volume mixer save timer handle. Used to debounce the DB call to save, to avoid spamming.
var/volume_mixer_saving = null
diff --git a/code/modules/client/preference/preferences_toggles.dm b/code/modules/client/preference/preferences_toggles.dm
index 4d552c9322a7..9f4adb3e96d9 100644
--- a/code/modules/client/preference/preferences_toggles.dm
+++ b/code/modules/client/preference/preferences_toggles.dm
@@ -564,13 +564,16 @@
. = ..()
if(length(user.screen))
var/atom/movable/screen/plane_master/exposure/exposure_master = locate() in user.screen
- var/atom/movable/screen/plane_master/lamps_selfglow/glow_master = locate() in user.screen
- var/atom/movable/screen/plane_master/lamps_glare/glare_master = locate() in user.screen
exposure_master.alpha = user.prefs.light & LIGHT_NEW_LIGHTING ? 255 : 0
exposure_master.backdrop(user.mob)
- glow_master.backdrop(user.mob)
- glare_master.backdrop(user.mob)
+
+ for(var/atom/movable/screen/plane_master/lamps_selfglow/glow_master in user.screen)
+ glow_master.backdrop(user.mob)
+
+ for(var/atom/movable/screen/plane_master/lamps_glare/glare_master in user.screen)
+ glare_master.backdrop(user.mob)
+
/datum/preference_toggle/special_toggle/set_glow_level
name = "Set Glow Level"
@@ -591,8 +594,8 @@
user.prefs.glowlevel = glow_levels[new_level]
to_chat(usr, "Glow level: [new_level].")
if(length(user.screen))
- var/atom/movable/screen/plane_master/lamps_selfglow/glow_master = locate() in user.screen
- glow_master.backdrop(user.mob)
+ for(var/atom/movable/screen/plane_master/lamps_selfglow/glow_master in user.screen)
+ glow_master.backdrop(user.mob)
return ..()
/datum/preference_toggle/toggle_lamp_exposure
@@ -623,6 +626,7 @@
/datum/preference_toggle/toggle_lamps_glare/set_toggles(client/user)
. = ..()
- if(length(user.screen))
- var/atom/movable/screen/plane_master/lamps_glare/glare_master = locate() in user.screen
+ if(!length(user.screen))
+ return
+ for(var/atom/movable/screen/plane_master/lamps_glare/glare_master in user.screen)
glare_master.backdrop(user.mob)
diff --git a/code/modules/events/brand_intelligence.dm b/code/modules/events/brand_intelligence.dm
index c8612e163463..ac95ae68fda4 100644
--- a/code/modules/events/brand_intelligence.dm
+++ b/code/modules/events/brand_intelligence.dm
@@ -90,7 +90,8 @@
saved.shoot_inventory = FALSE
saved.aggressive = FALSE
if(saved.tiltable)
- qdel(saved.GetComponent(/datum/component/proximity_monitor))
+ saved.DeleteComponent(/datum/component/proximity_monitor)
+
if(originMachine)
originMachine.speak("I am... vanquished. My people will remem...ber...meeee.")
originMachine.visible_message("[originMachine] beeps and seems lifeless.")
diff --git a/code/modules/food_and_drinks/food/condiment.dm b/code/modules/food_and_drinks/food/condiment.dm
index 8ec0d951e814..d48707468de6 100644
--- a/code/modules/food_and_drinks/food/condiment.dm
+++ b/code/modules/food_and_drinks/food/condiment.dm
@@ -30,6 +30,7 @@
"sugar" = list("emptycondiment", "sugar bottle", "Tasty spacey sugar!"),
"vinegar" = list("vinegar", "vinegar", "Perfect for chips, if you're feeling Space British."),
"mayonnaise" = list("mayonnaise", "mayonnaise bottle", "An oily condiment made from egg yolks."),
+ "yogurt" = list("yogurt", "yogurt tub", "Some yogurt, produced by bacterial fermentation of milk. Yum."),
"cherryjelly" = list("cherryjelly", "cherry jelly jar", "A sweet jelly made out of red cherries."),
"peanutbutter" = list("peanutbutter", "peanut butter jar", "A smooth, nutty spread. Perfect for sandwiches."),
"honey" = list("honey", "honey jar", "A sweet substance produced by bees."),
@@ -227,6 +228,13 @@
list_reagents = list("mayonnaise" = 50)
possible_states = list()
+/obj/item/reagent_containers/condiment/yogurt
+ name = "yogurt tub"
+ desc = "Some yogurt, produced by bacterial fermentation of milk. Yum."
+ icon_state = "yogurt"
+ list_reagents = list("yogurt" = 50)
+ possible_states = list()
+
/obj/item/reagent_containers/condiment/cherryjelly
name = "cherry jelly"
desc = "A sweet jelly made out of red cherries."
diff --git a/code/modules/food_and_drinks/food/customizables.dm b/code/modules/food_and_drinks/food/customizables.dm
index 3df6580452ad..c048f8c3fc8c 100644
--- a/code/modules/food_and_drinks/food/customizables.dm
+++ b/code/modules/food_and_drinks/food/customizables.dm
@@ -336,11 +336,10 @@ do {\
/obj/item/food/customizable/attackby(obj/item/I, mob/user, params)
- if(is_pen(I))
- var/new_name = rename_interactive(user, I, use_prefix = FALSE)
- if(!isnull(new_name))
- to_chat(user, "You declare this to be \a [name]. Delicious!")
- return
+ ..()
+
+ if(istype(I, /obj/item/kitchen/utensil) || is_pen(I))
+ return
if(!istype(I, /obj/item/food))
to_chat(user, "[I] isn't exactly something that you would want to eat.")
diff --git a/code/modules/food_and_drinks/food/foods/baked_goods.dm b/code/modules/food_and_drinks/food/foods/baked_goods.dm
index 1ef81b5dc011..2f3be77168f2 100644
--- a/code/modules/food_and_drinks/food/foods/baked_goods.dm
+++ b/code/modules/food_and_drinks/food/foods/baked_goods.dm
@@ -259,6 +259,259 @@
tastes = list("cake" = 5, "sweetness" = 1, "apple" = 1)
goal_difficulty = FOOD_GOAL_EASY
+/obj/item/food/sliceable/holy_cake
+ name = "angel food cake"
+ desc = "A cake made for angels and chaplains alike! Contains holy water."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "holy_cake"
+ slice_path = /obj/item/food/holy_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#ffffff"
+ list_reagents = list("nutriment" = 1, "vitamin" = 3, "holywater" = 10)
+ tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/holy_cake_slice
+ name = "holy cake slice"
+ desc = "A slice of heavenly cake."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "holy_cake_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#ffffff"
+ tastes = list("cake" = 5, "sweetness" = 1, "clouds" = 1)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/liars_cake
+ name = "strawberry chocolate cake"
+ desc = "A chocolate cake with five strawberries on top. For some reason, this configuration of cake is particularly aesthetically pleasing to AIs in SELF."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "liars_cake"
+ slice_path = /obj/item/food/liars_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#240606c7"
+ list_reagents = list("nutriment" = 20, "vitamin" = 5, "cocoa" = 5)
+ tastes = list("blackberry" = 2, "strawberries" = 2, "chocolate" = 2, "sweetness" = 2, "cake" = 3)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/liars_slice
+ name = "strawberry chocolate cake slice"
+ desc = "Just a slice of cake with five strawberries on top. \
+ For some reason, this configuration of cake is particularly aesthetically pleasing to AIs in SELF."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "liars_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#ffffff"
+ tastes = list("strawberries" = 2, "chocolate" = 2, "sweetness" = 2, "cake" = 3)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/vanilla_berry_cake
+ name = "blackberry and strawberry vanilla cake"
+ desc = "A plain cake, filled with assortment of blackberries and strawberries!"
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "vanilla_berry_cake"
+ slice_path = /obj/item/food/vanilla_berry_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#f0e3e3c7"
+ list_reagents = list("nutriment" = 20, "vitamin" = 5, "vanilla" = 5)
+ tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2, "cake" = 3)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/vanilla_berry_cake_slice
+ name = "blackberry and strawberry vanilla cake slice"
+ desc = "Just a slice of cake filled with assortment of blackberries and strawberries!"
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "vanilla_berry_cake_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#ffffff"
+ tastes = list("blackberry" = 2, "strawberries" = 2, "vanilla" = 2, "sweetness" = 2, "cake" = 3)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/hardware_cake
+ name = "hardware cake"
+ desc = "A \"cake\" that is made with electronic boards and leaks acid..."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "hardware_cake"
+ slice_path = /obj/item/food/hardware_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#4ac25e"
+ list_reagents = list("nutriment" = 20, "vitamin" = 5, "sacid" = 15, "oil" = 15)
+ tastes = list("acid" = 3, "metal" = 4, "glass" = 5)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/hardware_cake_slice
+ name = "hardware cake slice"
+ desc = "A slice of electronic boards and some acid."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "hardware_cake_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#4ac25e"
+ tastes = list("acid" = 3, "metal" = 4, "glass" = 5)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/plum_cake
+ name = "plum cake"
+ desc = "A cake centred with Plums."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "plum_cake"
+ slice_path = /obj/item/food/plum_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#a128c5"
+ list_reagents = list("nutriment" = 20, "vitamin" = 10)
+ tastes = list("cake" = 5, "sweetness" = 1, "plum" = 2)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/plum_cake_slice
+ name = "plum cake slice"
+ desc = "A slice of plum cake."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "plum_cake_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#a128c5"
+ tastes = list("cake" = 5, "sweetness" = 1, "plum" = 2)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/pound_cake
+ name = "pound cake"
+ desc = "A condensed cake made for filling people up quickly."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "pound_cake"
+ slice_path = /obj/item/food/pound_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#c4cab7"
+ list_reagents = list("nutriment" = 60, "vitamin" = 20)
+ tastes = list("cake" = 5, "sweetness" = 5, "batter" = 1)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/pound_cake_slice
+ name = "pound cake slice"
+ desc = "A slice of condensed cake made for filling people up quickly."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "pound_cake_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#ffffff"
+ tastes = list("cake" = 5, "sweetness" = 5, "batter" = 1)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/pumpkin_spice_cake
+ name = "pumpkin spice cake"
+ desc = "A hollow cake with real pumpkin."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "pumpkin_spice_cake"
+ slice_path = /obj/item/food/pumpkin_spice_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#ee710a"
+ list_reagents = list("nutriment" = 20, "vitamin" = 10)
+ tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/pumpkin_spice_cake_slice
+ name = "pumpkin spice cake slice"
+ desc = "A spicy slice of pumpkin goodness."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "pumpkin_spice_cake_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#ee710a"
+ tastes = list("cake" = 5, "sweetness" = 1, "pumpkin" = 1)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/slime_cake
+ name = "slime cake"
+ desc = "A cake made of slimes. Probably not electrified."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "slime_cake"
+ slice_path = /obj/item/food/slime_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#0adfee"
+ list_reagents = list("nutriment" = 20, "vitamin" = 10)
+ tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/slime_cake_slice
+ name = "slime cake slice"
+ desc = "A slice of slime cake."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "slime_cake_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#0adfee"
+ tastes = list("cake" = 5, "sweetness" = 1, "slime" = 1)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/spaceman_cake
+ name = "spaceman's cake"
+ desc = "A spaceman's trumpet frosted cake."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "trumpet_cake"
+ slice_path = /obj/item/food/spaceman_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#610977"
+ list_reagents = list("nutriment" = 20, "vitamin" = 10, "cream" = 5, "berryjuice", 5)
+ tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/spaceman_cake_slice
+ name = "spaceman's cake slice"
+ desc = "A slice of spaceman's trumpet frosted cake."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "trumpet_cake_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#610977"
+ tastes = list("cake" = 4, "violets" = 2, "jam" = 2)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/vanilla_cake
+ name = "vanilla cake"
+ desc = "A vanilla frosted cake."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "vanilla_cake"
+ slice_path = /obj/item/food/vanilla_cake_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#ece7ee"
+ list_reagents = list("nutriment" = 20, "vitamin" = 5, "sugar" = 15, "vanilla" = 15)
+ tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/vanilla_cake_slice
+ name = "vanilla cake slice"
+ desc = "A slice of vanilla frosted cake."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "vanilla_cake_slice"
+ filling_color = "#ece7ee"
+ tastes = list("cake" = 1, "sugar" = 1, "vanilla" = 10)
+ goal_difficulty = FOOD_GOAL_EASY
+
+/obj/item/food/sliceable/mothmallow
+ name = "mothmallow tray"
+ desc = "A light and fluffy vegan marshmallow flavoured with vanilla and rum and topped with soft chocolate. These are known to the moths as höllflöfstarkken: cloud squares." //höllflöf = cloud (höll = wind, flöf = cotton), starkken = squares
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "mothmallow_tray"
+ list_reagents = list("nutriment" = 20, "sugar" = 20)
+ slice_path = /obj/item/food/mothmallowslice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#eebe98"
+ tastes = list("vanilla" = 1, "clouds" = 1, "chocolate" = 1)
+ goal_difficulty = FOOD_GOAL_DUPLICATE
+
+/obj/item/food/mothmallowslice
+ name = "mothmallow"
+ desc = "Fluffy little clouds of joy- in a strangely moth-like colour."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "mothmallow_slice"
+ filling_color = "#ece7ee"
+ filling_color = "#eebe98"
+ tastes = list("vanilla" = 1, "clouds" = 1, "chocolate" = 1)
+ goal_difficulty = FOOD_GOAL_EASY
+
//////////////////////
// Cookies //
@@ -295,6 +548,32 @@
tastes = list("sweetness" = 1)
goal_difficulty = FOOD_GOAL_EASY
+/obj/item/food/oatmeal_cookie
+ name = "oatmeal cookie"
+ desc = "The best of both cookie and oat."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "oatmeal_cookie"
+ list_reagents = list("nutriment" = 6, "vitamin" = 2)
+ tastes = list("cookie" = 2, "oat" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/raisin_cookie
+ name = "raisin cookie"
+ desc = "Why would you put raisins on a cookie?"
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "raisin_cookie"
+ list_reagents = list("nutriment" = 6, "vitamin" = 2)
+ tastes = list("cookie" = 1, "raisins" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/peanut_butter_cookie
+ name = "peanut butter cookie"
+ desc = "A tasty, chewy peanut butter cookie."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "peanut_butter_cookie"
+ list_reagents = list("nutriment" = 6, "peanutbutter" = 5)
+ tastes = list("cookie" = 1, "peanut butter" = 2)
+ goal_difficulty = FOOD_GOAL_NORMAL
//////////////////////
// Pies //
@@ -429,6 +708,85 @@
tastes = list("pie" = 1, "pumpkin" = 1)
goal_difficulty = FOOD_GOAL_NORMAL
+/obj/item/food/beary_pie
+ name = "beary pie"
+ desc = "No brown bears, this is a good sign."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "beary_pie"
+ filling_color = "#F5B951"
+ list_reagents = list("nutriment" = 12, "vitamin" = 5, "protein" = 5)
+ tastes = list("pie" = 1, "meat" = 1, "salmon" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/sliceable/blumpkin_pie
+ name = "blumpkin pie"
+ desc = "An odd blue pie made with toxic blumpkin."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "blumpkin_pie"
+ slice_path = /obj/item/food/blumpkin_pie_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#102d8b"
+ list_reagents = list("nutriment" = 13, "vitamin" = 6, "blumpkinjuice" = 5)
+ tastes = list("pie" = 1, "a mouthful of pool water" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/blumpkin_pie_slice
+ name = "blumpkin pie slice"
+ desc = "A slice of blumpkin pie, with whipped cream on top. Is this edible?"
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "blumpkin_pie_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#102d8b"
+ tastes = list("pie" = 1, "a mouthful of pool water" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/sliceable/french_silk_pie
+ name = "french silk pie"
+ desc = "A decadent pie made of a creamy chocolate mousse filling topped with a layer of whipped cream and chocolate shavings. Sliceable."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "french_silk_pie"
+ slice_path = /obj/item/food/french_silk_pie_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#5e4337"
+ list_reagents = list("nutriment" = 12, "vitamin" = 4)
+ tastes = list("pie" = 1, "smooth chocolate" = 1, "whipped cream" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/french_silk_pie_slice
+ name = "french silk pie slice"
+ desc = "A slice of french silk pie, filled with a chocolate mousse and topped with a layer of whipped cream and chocolate shavings. Delicious enough to make you cry."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "french_silk_pie_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#5e4337"
+ tastes = list("pie" = 1, "smooth chocolate" = 1, "whipped cream" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/sliceable/frosty_pie
+ name = "frosty pie"
+ desc = "Tastes like blue and cold."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "frosty_pie"
+ slice_path = /obj/item/food/frosty_pie_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#5e4337"
+ list_reagents = list("nutriment" = 14, "vitamin" = 6)
+ tastes = list("mint" = 1, "pie" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/frosty_pie_slice
+ name = "frosty pie slice"
+ desc = "Tasty blue, like my favourite crayon!"
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "frosty_pie_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#338cb6"
+ tastes = list("mint" = 1, "pie" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
//////////////////////
// Donuts //
//////////////////////
@@ -442,7 +800,7 @@
list_reagents = list("nutriment" = 3, "sugar" = 2)
var/extra_reagent = null
filling_color = "#D2691E"
- var/randomized_sprinkles = 1
+ var/randomized_sprinkles = TRUE
var/donut_sprite_type = DONUT_NORMAL
tastes = list("donut" = 1)
@@ -461,7 +819,7 @@
list_reagents = list("nutriment" = 3, "sugar" = 2, "sprinkles" = 2)
filling_color = "#FF69B4"
donut_sprite_type = DONUT_FROSTED
- randomized_sprinkles = 0
+ randomized_sprinkles = FALSE
/obj/item/food/donut/chaos
name = "chaos donut"
@@ -512,6 +870,232 @@
icon_state = "jdonut1"
extra_reagent = "cherryjelly"
+/obj/item/food/donut/apple
+ name = "apple donut"
+ desc = "Goes great with a shot of cinnamon schnapps."
+ icon_state = "donut_green"
+ list_reagents = list("nutriment" = 3, "sugar" = 2, "applejuice" = 2)
+ filling_color = "#24d21e"
+ tastes = list("donut" = 1, "apples" = 1)
+ randomized_sprinkles = FALSE
+
+/obj/item/food/donut/apple/jelly
+ name = "jelly apple donut"
+ desc = "Goes great with a shot of cinnamon schnapps."
+ icon_state = "jelly_green"
+ extra_reagent = "berryjuice"
+
+/obj/item/food/donut/apple/jelly/cherry
+ name = "jelly apple donut"
+ desc = "Goes great with a shot of cinnamon schnapps."
+ icon_state = "jelly_green"
+ extra_reagent = "cherryjelly"
+
+/obj/item/food/donut/apple/jelly/slime
+ name = "jelly apple donut"
+ desc = "Goes great with a shot of cinnamon schnapps."
+ icon_state = "jelly_green"
+ extra_reagent = "slimejelly"
+
+/obj/item/food/donut/pink
+ name = "jelly pink donut"
+ desc = "Goes great with a soy latte."
+ icon_state = "donut_pink"
+ list_reagents = list("nutriment" = 3, "sugar" = 2, "berryjuice" = 3)
+ filling_color = "#D2691E"
+ tastes = list("donut" = 1, "berries" = 1)
+ randomized_sprinkles = FALSE
+
+/obj/item/food/donut/pink/jelly
+ name = "jelly pink donut"
+ desc = "Goes great with a soy latte."
+ icon_state = "jelly_pink"
+ extra_reagent = "berryjuice"
+
+/obj/item/food/donut/pink/jelly/cherry
+ name = "jelly pink donut"
+ desc = "Goes great with a soy latte."
+ icon_state = "jelly_pink"
+ extra_reagent = "cherryjelly"
+
+/obj/item/food/donut/pink/jelly/slime
+ name = "jelly pink donut"
+ desc = "Goes great with a soy latte."
+ icon_state = "jelly_pink"
+ extra_reagent = "slimejelly"
+
+/obj/item/food/donut/blumpkin
+ name = "blumpkin donut"
+ desc = "Goes great with a mug of soothing drunken blumpkin."
+ icon_state = "donut_blue"
+ list_reagents = list("nutriment" = 3, "sugar" = 2, "blumpkinjuice" = 2)
+ filling_color = "#D2691E"
+ tastes = list("donut" = 1, "blumpkin" = 1)
+ randomized_sprinkles = FALSE
+
+/obj/item/food/donut/blumpkin/jelly
+ name = "jelly blumpkin donut"
+ desc = "Goes great with a mug of soothing drunken blumpkin."
+ icon_state = "jelly_blue"
+ extra_reagent = "berryjuice"
+
+/obj/item/food/donut/blumpkin/jelly/cherry
+ name = "jelly blumpkin donut"
+ desc = "Goes great with a mug of soothing drunken blumpkin."
+ icon_state = "jelly_blue"
+ extra_reagent = "cherryjelly"
+
+/obj/item/food/donut/blumpkin/jelly/slime
+ name = "jelly blumpkin donut"
+ desc = "Goes great with a mug of soothing drunken blumpkin."
+ icon_state = "jelly_blue"
+ extra_reagent = "slimejelly"
+
+/obj/item/food/donut/caramel
+ name = "caramel donut"
+ desc = "Goes great with a mug of hot cocoa."
+ icon_state = "donut_beige"
+ list_reagents = list("nutriment" = 3, "sugar" = 2)
+ filling_color = "#D2691E"
+ tastes = list("donut" = 1, "buttery sweetness" = 1)
+ randomized_sprinkles = FALSE
+
+/obj/item/food/donut/caramel/jelly
+ name = "jelly caramel donut"
+ desc = "Goes great with a mug of hot cocoa."
+ icon_state = "jelly_beige"
+ extra_reagent = "berryjuice"
+
+/obj/item/food/donut/caramel/jelly/cherry
+ name = "jelly caramel donut"
+ desc = "Goes great with a mug of hot cocoa."
+ icon_state = "jelly_beige"
+ extra_reagent = "cherryjelly"
+
+/obj/item/food/donut/caramel/jelly/slime
+ name = "jelly caramel donut"
+ desc = "Goes great with a mug of hot cocoa."
+ icon_state = "jelly_beige"
+ extra_reagent = "slimejelly"
+
+/obj/item/food/donut/chocolate
+ name = "chocolate donut"
+ desc = "Goes great with a glass of warm milk."
+ icon_state = "donut_choc"
+ list_reagents = list("nutriment" = 3, "sugar" = 2, "hot_coco" = 3)
+ filling_color = "#D2691E"
+ tastes = list("donut" = 1, "bitterness" = 1)
+ randomized_sprinkles = FALSE
+
+/obj/item/food/donut/chocolate/jelly
+ name = "jelly chocolate donut"
+ desc = "Goes great with a glass of warm milk."
+ icon_state = "jelly_choc"
+ extra_reagent = "berryjuice"
+
+/obj/item/food/donut/chocolate/jelly/cherry
+ name = "jelly chocolate donut"
+ desc = "Goes great with a glass of warm milk."
+ icon_state = "jelly_choc"
+ extra_reagent = "cherryjelly"
+
+/obj/item/food/donut/chocolate/jelly/slime
+ name = "jelly chocolate donut"
+ desc = "Goes great with a glass of warm milk."
+ icon_state = "jelly_choc"
+ extra_reagent = "slimejelly"
+
+/obj/item/food/donut/matcha
+ name = "matcha donut"
+ desc = "Goes great with a cup of tea."
+ icon_state = "donut_olive"
+ list_reagents = list("nutriment" = 3, "sugar" = 2, "teapowder" = 2)
+ filling_color = "#D2691E"
+ tastes = list("donut" = 1, "matcha" = 1)
+ randomized_sprinkles = FALSE
+
+/obj/item/food/donut/matcha/jelly
+ name = "jelly matcha donut"
+ desc = "Goes great with a cup of tea."
+ icon_state = "jelly_olive"
+ extra_reagent = "berryjuice"
+
+/obj/item/food/donut/matcha/jelly/cherry
+ name = "jelly matcha donut"
+ desc = "Goes great with a cup of tea."
+ icon_state = "jelly_olive"
+ extra_reagent = "cherryjelly"
+
+/obj/item/food/donut/matcha/jelly/slime
+ name = "jelly matcha donut"
+ desc = "Goes great with a cup of tea."
+ icon_state = "jelly_olive"
+ extra_reagent = "slimejelly"
+
+/obj/item/food/donut/bungo
+ name = "bungo donut"
+ desc = "Goes great with a mason jar of hippie's delight."
+ icon_state = "donut_yellow"
+ list_reagents = list("nutriment" = 3, "sugar" = 2, "bungojuice" = 3)
+ filling_color = "#D2691E"
+ tastes = list("donut" = 1, "tropical sweetness" = 1, "an acidic, poisonous tang" = 1)
+ randomized_sprinkles = FALSE
+
+/obj/item/food/donut/bungo/jelly
+ name = "jelly bungo donut"
+ desc = "Goes great with a mason jar of hippie's delight."
+ icon_state = "jelly_yellow"
+ extra_reagent = "berryjuice"
+
+/obj/item/food/donut/bungo/jelly/cherry
+ name = "jelly bungo donut"
+ desc = "Goes great with a mason jar of hippie's delight."
+ icon_state = "jelly_yellow"
+ extra_reagent = "cherryjelly"
+
+/obj/item/food/donut/bungo/jelly/slime
+ name = "jelly bungo donut"
+ desc = "Goes great with a mason jar of hippie's delight."
+ icon_state = "jelly_yellow"
+ extra_reagent = "slimejelly"
+
+/obj/item/food/donut/spaceman
+ name = "spaceman's donut"
+ desc = "Goes great with a cold beaker of malk."
+ icon_state = "donut_purple"
+ list_reagents = list("nutriment" = 3, "sugar" = 2)
+ filling_color = "#D2691E"
+ tastes = list("donut" = 1, "violets" = 1)
+ randomized_sprinkles = FALSE
+
+/obj/item/food/donut/spaceman/jelly
+ name = "jelly spaceman's donut"
+ desc = "Goes great with a cold beaker of malk."
+ icon_state = "jelly_purple"
+ extra_reagent = "berryjuice"
+
+/obj/item/food/donut/spaceman/jelly/cherry
+ name = "jelly spaceman's donut"
+ desc = "Goes great with a cold beaker of malk."
+ icon_state = "jelly_purple"
+ extra_reagent = "cherryjelly"
+
+/obj/item/food/donut/spaceman/jelly/slime
+ name = "jelly spaceman's donut"
+ desc = "Goes great with a cold beaker of malk."
+ icon_state = "jelly_purple"
+ extra_reagent = "slimejelly"
+
+/obj/item/food/donut/meat
+ name = "Meat Donut"
+ desc = "Tastes as gross as it looks."
+ icon_state = "donut_meat"
+ list_reagents = list("nutriment" = 3, "protein" = 3, "ketchup" = 3)
+ filling_color = "#D2691E"
+ tastes = list("meat" = 1, "ketchup" = 1)
+ randomized_sprinkles = FALSE
+
+
//////////////////////
// Pancakes //
//////////////////////
@@ -572,6 +1156,37 @@
tastes = list("muffin" = 1)
goal_difficulty = FOOD_GOAL_NORMAL
+/obj/item/food/berry_muffin
+ name = "berry_muffin"
+ desc = "A delicious and spongy little cake, with berries."
+ icon = 'icons/obj/food/breakfast.dmi'
+ icon_state = "berry_muffin"
+ filling_color = "#ad2bbe"
+ list_reagents = list("nutriment" = 6, "berryjuice" = 2)
+ tastes = list("muffin" = 3, "berry" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/booberry_muffin
+ name = "booberry muffin"
+ desc = "My stomach is a graveyard! No living being can quench my bloodthirst!"
+ icon = 'icons/obj/food/breakfast.dmi'
+ alpha = 125
+ icon_state = "berry_muffin"
+ filling_color = "#d9b6f5"
+ list_reagents = list("nutriment" = 6)
+ tastes = list("muffin" = 3, "spookiness" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/moffin
+ name = "moffin"
+ desc = "A delicious and spongy little cake."
+ icon = 'icons/obj/food/breakfast.dmi'
+ icon_state = "moffin"
+ filling_color = "#c7ab56"
+ list_reagents = list("nutriment" = 6)
+ tastes = list("muffin" = 3, "dust" = 1, "lint" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
/obj/item/food/berryclafoutis
name = "berry clafoutis"
desc = "No black birds, this is a good sign."
@@ -623,6 +1238,120 @@
tastes = list("pie" = 1, "apple" = 1, "expensive metal" = 1)
goal_difficulty = FOOD_GOAL_NORMAL
+/obj/item/food/grape_tart
+ name = "grape tart"
+ desc = "A tasty dessert that reminds you of the wine you didn't make."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "grape_tart"
+ trash = /obj/item/trash/plate
+ filling_color = "#8c00ff"
+ bitesize = 3
+ list_reagents = list("nutriment" = 4, "vitamin" = 4)
+ tastes = list("pie" = 1, "grape" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/mime_tart
+ name = "mime tart"
+ desc = "..."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "mime_tart"
+ trash = /obj/item/trash/plate
+ filling_color = "#8c00ff"
+ bitesize = 3
+ list_reagents = list("nutriment" = 5, "vitamin" = 5, "nothing" = 5)
+ tastes = list("nothing" = 3)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/cherry_cupcake
+ name = "cherry cupcake"
+ desc = "A sweet cupcake with cherry bits."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "cherry_cupcake"
+ filling_color = "#8b1236"
+ list_reagents = list("nutriment" = 6, "vitamin" = 2)
+ tastes = list("cake" = 3, "cherry" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/cherry_cupcake/blue
+ name = "blue cherry cupcake"
+ desc = "Blue cherries inside a delicious cupcake."
+ icon_state = "bluecherry_cupcake"
+ filling_color = "#0d1694"
+ tastes = list("cake" = 3, "bluecherry" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/honey_bun
+ name = "honey bun"
+ desc = "A sticky pastry bun glazed with honey."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "honey_bun"
+ filling_color = "#d88e06"
+ list_reagents = list("nutriment" = 6, "honey" = 6)
+ tastes = list("pastry" = 1, "sweetness" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/cannoli
+ name = "cannoli"
+ desc = "A Sicilian treat that turns you into a wise guy."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "cannoli"
+ filling_color = "#d88e06"
+ list_reagents = list("nutriment" = 6, "vitamin" = 2)
+ tastes = list("pastry" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/chocolate_lava_tart
+ name = "chocolate lava tart"
+ desc = "A tasty dessert made of chocolate, with a liquid core."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "coco_lava_tart"
+ filling_color = "#411b02"
+ list_reagents = list("nutriment" = 4, "vitamin" = 4)
+ tastes = list("pie" = 1, "dark chocolate" = 3)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/chocolate_cornet
+ name = "chocolate cornet"
+ desc = "Which side's the head, the fat end or the thin end?"
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "choco_cornet"
+ filling_color = "#411b02"
+ list_reagents = list("nutriment" = 6, "vitamin" = 2)
+ tastes = list("biscuit" = 3, "chocolate" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/sliceable/dulce_de_batata
+ name = "dulce de batata"
+ desc = "A delicious jelly made with sweet potatoes."
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "dulce_de_batata"
+ slice_path = /obj/item/food/dulce_de_batata_slice
+ slices_num = 5
+ bitesize = 3
+ filling_color = "#411b02"
+ list_reagents = list("nutriment" = 14, "vitamin" = 8)
+ tastes = list("jelly" = 1, "sweet potato" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/dulce_de_batata_slice
+ name = "dulce de batata slice"
+ desc = "Tasty blue, like my favourite crayon!"
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "dulce_de_batata_slice"
+ trash = /obj/item/trash/plate
+ filling_color = "#411b02"
+ tastes = list("jelly" = 1, "sweet potato" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/cheese_balls
+ name = "\improper ælorölen" //ælo = cheese, rölen = balls
+ desc = "Ælorölen (cheese balls) are a traditional mothic dessert, made of soft cheese, powdered sugar and flour, rolled into balls, battered and then deep fried. They're often served with either chocolate sauce or honey, or sometimes both!"
+ icon = 'icons/obj/food/bakedgoods.dmi'
+ icon_state = "moth_cheese_cakes"
+ filling_color = "#411b02"
+ list_reagents = list("protein" = 8, "sugar" = 12)
+ tastes = list("cheesecake" = 1, "chocolate" = 1, "honey" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
/obj/item/food/cracker
name = "cracker"
diff --git a/code/modules/food_and_drinks/food/foods/candy.dm b/code/modules/food_and_drinks/food/foods/candy.dm
index b5293309ca3f..486c47a31611 100644
--- a/code/modules/food_and_drinks/food/foods/candy.dm
+++ b/code/modules/food_and_drinks/food/foods/candy.dm
@@ -94,6 +94,51 @@
filling_color = "#7D5F46"
goal_difficulty = FOOD_GOAL_NORMAL
+/obj/item/food/candy/chocolate_orange
+ name = "chocolate orange"
+ desc = "A festive chocolate orange."
+ icon_state = "choco_orange"
+ filling_color = "#7D5F46"
+ list_reagents = list("nutriment" = 3, "sugar" = 1)
+ tastes = list("chocolate" = 3, "oranges" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/candy/candied_pineapple
+ name = "candied pineapple"
+ desc = "A chunk of pineapple coated in sugar and dried into a chewy treat."
+ icon_state = "candied_pineapple"
+ filling_color = "#ffbd35"
+ list_reagents = list("nutriment" = 3, "vitamin" = 3)
+ tastes = list("sugar" = 2, "chewy pineapple" = 4)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/candy/chocolate_coin
+ name = "chocolate coin"
+ desc = "A completely edible but non-flippable festive coin."
+ icon_state = "choco_coin"
+ filling_color = "#7D5F46"
+ list_reagents = list("nutriment" = 4, "sugar" = 1, "cocoa" = 1, "vitamin" = 1)
+ tastes = list("chocolate" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/candy/chocolate_bunny
+ name = "chocolate bunny"
+ desc = "Contains less than 10% real rabbit!"
+ icon_state = "chocolate_bunny"
+ filling_color = "#7D5F46"
+ list_reagents = list("nutriment" = 4, "sugar" = 1, "cocoa" = 1)
+ tastes = list("chocolate" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
+/obj/item/food/candy/fudge_dice
+ name = "fudge dice"
+ desc = "A little cube of chocolate that tends to have a less intense taste if you eat too many at once."
+ icon_state = "choco_dice"
+ filling_color = "#7D5F46"
+ list_reagents = list("nutriment" = 3, "sugar" = 1, "cocoa" = 1)
+ tastes = list("fudge" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
// ***********************************************************
// Candy Products (Pre-existing)
// ***********************************************************
diff --git a/code/modules/food_and_drinks/food/foods/ingredients.dm b/code/modules/food_and_drinks/food/foods/ingredients.dm
index 7e50a1667d3b..fda18eae17b7 100644
--- a/code/modules/food_and_drinks/food/foods/ingredients.dm
+++ b/code/modules/food_and_drinks/food/foods/ingredients.dm
@@ -69,6 +69,12 @@
filling_color = "#00FF33"
list_reagents = list("mercury" = 5, "lsd" = 5, "ethanol" = 5, "weird_cheese" = 5)
+/obj/item/food/cheese_curds
+ name = "cheese curds"
+ desc = "Known by many names throughout human cuisine, curd cheese is useful for a wide variety of dishes."
+ icon_state = "cheese_curds"
+ filling_color = "#FFF700"
+ list_reagents = list("cheese_curds" = 4, "nutriment" = 3, "vitamin" = 1)
//////////////////////
// Plants //
diff --git a/code/modules/food_and_drinks/food/foods/pizza.dm b/code/modules/food_and_drinks/food/foods/pizza.dm
index 8a62b48fd3a9..3b9c7a5d13c6 100644
--- a/code/modules/food_and_drinks/food/foods/pizza.dm
+++ b/code/modules/food_and_drinks/food/foods/pizza.dm
@@ -271,10 +271,16 @@
var/is_messy = FALSE // Fancy mess on the lid
var/obj/item/food/sliceable/pizza/pizza // Content pizza
var/list/boxes = list() // If the boxes are stacked, they come here
+ /// The name that shows on the box lid, describing the pizza type.
var/box_tag = ""
+ /// The type of pizza that's spawned in the box.
+ var/pizza_type
/obj/item/pizzabox/Initialize(mapload)
. = ..()
+ if(!isnull(pizza_type))
+ pizza = new pizza_type(src)
+
update_appearance(UPDATE_DESC|UPDATE_ICON)
/obj/item/pizzabox/update_desc()
@@ -409,46 +415,37 @@
return
..()
-
-/obj/item/pizzabox/margherita/Initialize(mapload)
- pizza = new /obj/item/food/sliceable/pizza/margheritapizza(src)
+/obj/item/pizzabox/margherita
+ pizza_type = /obj/item/food/sliceable/pizza/margheritapizza
box_tag = "margherita deluxe"
- . = ..()
-/obj/item/pizzabox/vegetable/Initialize(mapload)
- pizza = new /obj/item/food/sliceable/pizza/vegetablepizza(src)
+/obj/item/pizzabox/vegetable
+ pizza_type = /obj/item/food/sliceable/pizza/vegetablepizza
box_tag = "gourmet vegetable"
- . = ..()
-/obj/item/pizzabox/mushroom/Initialize(mapload)
- pizza = new /obj/item/food/sliceable/pizza/mushroompizza(src)
+/obj/item/pizzabox/mushroom
+ pizza_type = /obj/item/food/sliceable/pizza/mushroompizza
box_tag = "mushroom special"
- . = ..()
-/obj/item/pizzabox/meat/Initialize(mapload)
- pizza = new /obj/item/food/sliceable/pizza/meatpizza(src)
+/obj/item/pizzabox/meat
+ pizza_type = /obj/item/food/sliceable/pizza/meatpizza
box_tag = "meatlover's supreme"
- . = ..()
-/obj/item/pizzabox/hawaiian/Initialize(mapload)
- pizza = new /obj/item/food/sliceable/pizza/hawaiianpizza(src)
+/obj/item/pizzabox/hawaiian
+ pizza_type = /obj/item/food/sliceable/pizza/hawaiianpizza
box_tag = "Hawaiian feast"
- . = ..()
-/obj/item/pizzabox/pepperoni/Initialize(mapload)
- pizza = new /obj/item/food/sliceable/pizza/pepperonipizza(src)
+/obj/item/pizzabox/pepperoni
+ pizza_type = /obj/item/food/sliceable/pizza/pepperonipizza
box_tag = "classic pepperoni"
- . = ..()
-/obj/item/pizzabox/garlic/Initialize(mapload)
- pizza = new /obj/item/food/sliceable/pizza/garlicpizza(src)
+/obj/item/pizzabox/garlic
+ pizza_type = /obj/item/food/sliceable/pizza/garlicpizza
box_tag = "triple garlic"
- . = ..()
-/obj/item/pizzabox/firecracker/Initialize(mapload)
- pizza = new /obj/item/food/sliceable/pizza/firecrackerpizza(src)
+/obj/item/pizzabox/firecracker
+ pizza_type = /obj/item/food/sliceable/pizza/firecrackerpizza
box_tag = "extra spicy pie"
- . = ..()
//////////////////////////
// Pizza bombs //
@@ -582,7 +579,8 @@
/obj/item/pizzabox/pizza_bomb/Initialize(mapload)
correct_wire = pick(wires)
- box_tag = "classic pepperoni"
+ var/obj/item/pizzabox/mimic_box = pick(subtypesof(/obj/item/pizzabox) - typesof(/obj/item/pizzabox/pizza_bomb))
+ box_tag = mimic_box.box_tag
. = ..()
/obj/item/pizzabox/pizza_bomb/autoarm
diff --git a/code/modules/food_and_drinks/food/foods/soups.dm b/code/modules/food_and_drinks/food/foods/soups.dm
index 6da52d5685bc..bb56ebf68094 100644
--- a/code/modules/food_and_drinks/food/foods/soups.dm
+++ b/code/modules/food_and_drinks/food/foods/soups.dm
@@ -224,6 +224,15 @@
tastes = list("bitterness" = 1, "sourness" = 1, "nature" = 1)
goal_difficulty = FOOD_GOAL_NORMAL
+/obj/item/food/soup/red_porridge
+ name = "\improper Eltsløsk ül a priktæolk" //eltsløsk = red porridge, ül a = with, prikt = sour, æolk = cream
+ desc = "Red porridge with yogurt. The name and vegetable ingredients obscure the sweet nature of the dish, which is commonly served as a dessert aboard the fleet."
+ icon_state = "red_porridge"
+ filling_color = "#b36e40"
+ list_reagents = list("nutriment" = 6, "vitamin" = 2, "sugar" = 2, "yogurt" = 2)
+ tastes = list("sweet beets" = 1, "sugar" = 1, "sweetened yogurt" = 1)
+ goal_difficulty = FOOD_GOAL_NORMAL
+
//////////////////////
// Stews //
diff --git a/code/modules/food_and_drinks/food_base.dm b/code/modules/food_and_drinks/food_base.dm
index 34faf1426a22..5290fcd736ef 100644
--- a/code/modules/food_and_drinks/food_base.dm
+++ b/code/modules/food_and_drinks/food_base.dm
@@ -198,8 +198,8 @@
return
user.visible_message( \
- "[user] scoops up some [src] with \the [U]!", \
- "You scoop up some [src] with \the [U]!" \
+ "[user] scoops up some [name] with [U]!", \
+ "You scoop up some [name] with [U]!" \
)
bitecount++
diff --git a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
index deb2af941eff..c1b6dc49b046 100644
--- a/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
+++ b/code/modules/food_and_drinks/kitchen_machinery/smartfridge.dm
@@ -434,7 +434,10 @@
. = ..()
accepted_items_typecache = typecacheof(list(
/obj/item/kitchen,
- /obj/item/food))
+ /obj/item/food,
+ /obj/item/seeds,
+ /obj/item/grown,
+ /obj/item/reagent_containers/condiment))
// Syndicate Druglab Ruin
/obj/machinery/smartfridge/food/syndicate_druglab
@@ -447,6 +450,88 @@
/obj/item/reagent_containers/drinks/bottle/kahlua = 1,
/obj/item/reagent_containers/drinks/bottle/orangejuice = 2)
+///The Chefs smartfridge. This smartfridge will spawn with a random condiment, then 3 stacks of 3 plants (or fish meat) to give chef some extra starting variety, or new ideas on what to cook!
+/obj/machinery/smartfridge/food/chef
+
+/obj/machinery/smartfridge/food/chef/Initialize(mapload)
+ starting_items = generate_starting_items()
+ . = ..()
+
+/obj/machinery/smartfridge/food/chef/proc/generate_starting_items()
+ // These plants are blocked for being inedable, downright toxic, RND plants, botany plants, or wheat.
+ var/list/static/forbidden_plants = list(
+ /obj/item/food/grown/wheat,
+ /obj/item/food/grown/meatwheat,
+ /obj/item/food/grown/shell/gatfruit,
+ /obj/item/food/grown/apple/poisoned,
+ /obj/item/food/grown/cherry_bomb,
+ /obj/item/food/grown/firelemon,
+ /obj/item/food/grown/ambrosia/gaia,
+ /obj/item/food/grown/mushroom/glowshroom,
+ /obj/item/food/grown/mushroom/glowshroom/glowcap,
+ /obj/item/food/grown/mushroom/glowshroom/shadowshroom,
+ /obj/item/food/grown/cannabis, // I don't care about weed pizza, sorry.
+ /obj/item/food/grown/cannabis/rainbow,
+ /obj/item/food/grown/cannabis/death,
+ /obj/item/food/grown/cannabis/white,
+ /obj/item/food/grown/cannabis/ultimate,
+ /obj/item/food/grown/tobacco,
+ /obj/item/food/grown/pumpkin/blumpkin,
+ /obj/item/food/grown/berries/poison,
+ /obj/item/food/grown/berries/death,
+ /obj/item/food/grown/berries/glow,
+ /obj/item/food/grown/comfrey,
+ /obj/item/food/grown/aloe,
+ /obj/item/food/grown/kudzupod,
+ /obj/item/food/grown/holymelon, // Lets not out vampires or cult by accident thanks
+ /obj/item/food/grown/mushroom/reishi, // I would block out Amanita but it has 2 recipies, might be funny.
+ /obj/item/food/grown/mushroom/angel,
+ /obj/item/food/grown/random,
+ /obj/item/food/grown/tea,
+ /obj/item/food/grown/tea/astra,
+ /obj/item/food/grown/coffee,
+ /obj/item/food/grown/coffee/robusta,
+ /obj/item/food/grown/grass,
+ /obj/item/food/grown/grass/carpet,
+ /obj/item/food/grown/harebell,
+ /obj/item/food/grown/poppy,
+ /obj/item/food/grown/lily,
+ /obj/item/food/grown/geranium,
+ /obj/item/food/grown/moonflower,
+ /obj/item/food/grown/ash_flora/shavings,
+ /obj/item/food/grown/ash_flora/mushroom_leaf,
+ /obj/item/food/grown/ash_flora/mushroom_cap,
+ /obj/item/food/grown/ash_flora/mushroom_stem,
+ /obj/item/food/grown/ash_flora/cactus_fruit,
+ /obj/item/food/grown/shell,
+ /obj/item/food/grown/mushroom/fungus,
+ /obj/item/food/grown/mushroom,
+ /obj/item/food/grown/ash_flora,
+ )
+ var/list/output = list()
+ for(var/I in 1 to 3)
+ var/obj/item/food/chosen
+ if(prob(95))
+ chosen = pick(subtypesof(/obj/item/food/grown) - forbidden_plants)
+ else // Fish / sushi stuff, or xenomeat rarely as a treat
+ chosen = pick(/obj/item/food/catfishmeat, /obj/item/food/carpmeat, /obj/item/food/salmonmeat, /obj/item/food/shrimp, /obj/item/food/monstermeat/xenomeat)
+ output[chosen] += 3
+ // Adds 2 condiment bottles as bonus. No hotsauce or ketchup, as the chef starts with that
+ for(var/G in 1 to 2)
+ output += pick(
+ /obj/item/reagent_containers/condiment/bbqsauce,
+ /obj/item/reagent_containers/condiment/soysauce,
+ /obj/item/reagent_containers/condiment/mayonnaise,
+ /obj/item/reagent_containers/condiment/cherryjelly,
+ /obj/item/reagent_containers/condiment/peanutbutter,
+ /obj/item/reagent_containers/condiment/honey,
+ /obj/item/reagent_containers/condiment/oliveoil,
+ /obj/item/reagent_containers/condiment/frostoil,
+ /obj/item/reagent_containers/condiment/wasabi,
+ /obj/item/reagent_containers/condiment/vinegar,
+ )
+ return output
+
/**
* # Seed Storage
*
diff --git a/code/modules/food_and_drinks/recipes/recipes_candy.dm b/code/modules/food_and_drinks/recipes/recipes_candy.dm
index 46a2eec574fe..e3ab57ad8ab9 100644
--- a/code/modules/food_and_drinks/recipes/recipes_candy.dm
+++ b/code/modules/food_and_drinks/recipes/recipes_candy.dm
@@ -87,6 +87,41 @@
reagents = list("milk" = 1, "sugar" = 1)
result = /obj/item/food/wafflecone
+/datum/recipe/candy/candied_pineapple
+ reagents = list("sugar" = 2, "water" = 2)
+ items = list(
+ /obj/item/food/pineappleslice
+ )
+ result = /obj/item/food/candy/candied_pineapple
+
+/datum/recipe/candy/chocolate_orange
+ items = list(
+ /obj/item/food/grown/citrus/orange,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/candy/chocolate_orange
+
+/datum/recipe/candy/chocolate_coin
+ items = list(
+ /obj/item/coin,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/candy/chocolate_coin
+
+/datum/recipe/candy/chocolate_bunny
+ reagents = list("sugar" = 2)
+ items = list(
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/candy/chocolate_bunny
+
+/datum/recipe/candy/fudge_dice
+ items = list(
+ /obj/item/dice,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/candy/fudge_dice
+
// ***********************************************************
// Base Candy Recipes (unflavored / plain)
// ***********************************************************
diff --git a/code/modules/food_and_drinks/recipes/recipes_microwave.dm b/code/modules/food_and_drinks/recipes/recipes_microwave.dm
index 7457a25c82e5..8ed36bca48cc 100644
--- a/code/modules/food_and_drinks/recipes/recipes_microwave.dm
+++ b/code/modules/food_and_drinks/recipes/recipes_microwave.dm
@@ -52,6 +52,247 @@
)
result = /obj/item/food/donut/sprinkles
+/datum/recipe/microwave/apple_donut
+ reagents = list("applejuice" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/apple
+
+/datum/recipe/microwave/apple_donut/jelly
+ reagents = list("applejuice" = 5, "berryjuice" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/apple/jelly
+
+/datum/recipe/microwave/apple_donut/jelly/slime
+ reagents = list("applejuice" = 5, "slimejelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/apple/jelly/slime
+
+/datum/recipe/microwave/apple_donut/jelly/cherry
+ reagents = list("applejuice" = 5, "cherryjelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/apple/jelly/cherry
+
+/datum/recipe/microwave/pink_donut
+ reagents = list("berryjuice" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/pink
+
+/datum/recipe/microwave/pink_donut/jelly
+ reagents = list("berryjuice" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/pink/jelly
+
+/datum/recipe/microwave/pink_donut/jelly/slime
+ reagents = list("berryjuice" = 5, "slimejelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/pink/jelly/slime
+
+/datum/recipe/microwave/pink_donut/jelly/cherry
+ reagents = list("berryjuice" = 5, "cherryjelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/pink/jelly/cherry
+
+/datum/recipe/microwave/blumpkin_donut
+ reagents = list("blumpkinjuice" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/blumpkin
+
+/datum/recipe/microwave/blumpkin_donut/jelly
+ reagents = list("blumpkinjuice" = 5, "berryjuice" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/blumpkin/jelly
+
+/datum/recipe/microwave/blumpkin_donut/jelly/slime
+ reagents = list("blumpkinjuice" = 5, "slimejelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/blumpkin/jelly/slime
+
+/datum/recipe/microwave/blumpkin_donut/jelly/cherry
+ reagents = list("blumpkinjuice" = 5, "cherryjelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/blumpkin/jelly/cherry
+
+/datum/recipe/microwave/bungo_donut
+ reagents = list("bungojuice" = 5, "coldsauce" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/bungo
+
+/datum/recipe/microwave/bungo_donut/jelly
+ reagents = list("bungojuice" = 5, "coldsauce" = 5, "berryjuice" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/bungo/jelly
+
+/datum/recipe/microwave/bungo_donut/jelly/slime
+ reagents = list("bungojuice" = 5, "coldsauce" = 5, "slimejelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/bungo/jelly/slime
+
+/datum/recipe/microwave/bungo_donut/jelly/cherry
+ reagents = list("bungojuice" = 5, "coldsauce" = 5, "cherryjelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/bungo/jelly/cherry
+
+/datum/recipe/microwave/caramel_donut
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/candy/caramel
+ )
+ result = /obj/item/food/donut/caramel
+
+/datum/recipe/microwave/caramel_donut/jelly
+ reagents = list("berryjuice" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/candy/caramel
+ )
+ result = /obj/item/food/donut/caramel/jelly
+
+/datum/recipe/microwave/caramel_donut/jelly/slime
+ reagents = list("slimejelly" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/candy/caramel
+ )
+ result = /obj/item/food/donut/caramel/jelly/slime
+
+/datum/recipe/microwave/caramel_donut/jelly/cherry
+ reagents = list("cherryjelly" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/candy/caramel
+ )
+ result = /obj/item/food/donut/caramel/jelly/cherry
+
+/datum/recipe/microwave/chocolate_donut
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/donut/chocolate
+
+/datum/recipe/microwave/chocolate_donut/jelly
+ reagents = list("berryjuice" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/donut/chocolate/jelly
+
+/datum/recipe/microwave/chocolate_donut/jelly/slime
+ reagents = list("slimejelly" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/donut/chocolate/jelly/slime
+
+/datum/recipe/microwave/chocolate_donut/jelly/cherry
+ reagents = list("cherryjelly" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/donut/chocolate/jelly/cherry
+
+/datum/recipe/microwave/matcha_donut
+ reagents = list("teapowder" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/matcha
+
+/datum/recipe/microwave/matcha_donut/jelly
+ reagents = list("teapowder" = 5, "berryjuice" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/matcha/jelly
+
+/datum/recipe/microwave/matcha_donut/jelly/slime
+ reagents = list("teapowder" = 5, "slimejelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/matcha/jelly/slime
+
+/datum/recipe/microwave/matcha_donut/jelly/cherry
+ reagents = list("teapowder" = 5, "cherryjelly" = 5)
+ items = list(
+ /obj/item/food/donut
+ )
+ result = /obj/item/food/donut/matcha/jelly/cherry
+
+/datum/recipe/microwave/meat_donut
+ reagents = list("ketchup" = 5)
+ items = list(
+ /obj/item/food/cookiedough,
+ /obj/item/food/meat
+ )
+ result = /obj/item/food/donut/meat
+
+/datum/recipe/microwave/spaceman_donut
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/grown/trumpet
+ )
+ result = /obj/item/food/donut/spaceman
+
+/datum/recipe/microwave/spaceman_donut/jelly
+ reagents = list("berryjuice" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/grown/trumpet
+ )
+ result = /obj/item/food/donut/spaceman/jelly
+
+/datum/recipe/microwave/spaceman_donut/jelly/slime
+ reagents = list("slimejelly" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/grown/trumpet
+ )
+ result = /obj/item/food/donut/spaceman/jelly/slime
+
+/datum/recipe/microwave/spaceman_donut/jelly/cherry
+ reagents = list("cherryjelly" = 5)
+ items = list(
+ /obj/item/food/donut,
+ /obj/item/food/grown/trumpet
+ )
+ result = /obj/item/food/donut/spaceman/jelly/cherry
+
/datum/recipe/microwave/human/burger
items = list(
/obj/item/food/meat/human,
@@ -1144,6 +1385,29 @@
)
result = /obj/item/food/frozen/icecreamsandwich
+/datum/recipe/microwave/cheese_balls
+ reagents = list("flour" = 5, "sugar" = 5, "honey" = 5)
+ items = list(
+ /obj/item/food/cheese_curds,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/cheese_balls
+
+/datum/recipe/microwave/red_porridge
+ reagents = list("vanilla" = 5, "sugar" = 5, "yogurt" = 10)
+ items = list(
+ /obj/item/food/grown/redbeet
+ )
+ result = /obj/item/food/soup/red_porridge
+
+/datum/recipe/microwave/dulce_de_batata
+ reagents = list("vanilla" = 5, "water" = 5)
+ items = list(
+ /obj/item/food/grown/potato/sweet,
+ /obj/item/food/grown/potato/sweet
+ )
+ result = /obj/item/food/sliceable/dulce_de_batata
+
/datum/recipe/microwave/berryicecreamsandwich
reagents = list("ice" = 5, "cream" = 5)
items = list(
diff --git a/code/modules/food_and_drinks/recipes/recipes_oven.dm b/code/modules/food_and_drinks/recipes/recipes_oven.dm
index 8b0dc71ba6bd..9012cba58c60 100644
--- a/code/modules/food_and_drinks/recipes/recipes_oven.dm
+++ b/code/modules/food_and_drinks/recipes/recipes_oven.dm
@@ -77,6 +77,152 @@
)
result = /obj/item/food/muffin
+/datum/recipe/oven/berry_muffin
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/grown/berries
+ )
+ result = /obj/item/food/berry_muffin
+
+/datum/recipe/oven/booberry_muffin
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/grown/berries,
+ /obj/item/food/ectoplasm
+ )
+ result = /obj/item/food/booberry_muffin
+
+/datum/recipe/oven/moffin
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/grown/cotton
+ )
+ result = /obj/item/food/moffin
+
+/datum/recipe/oven/holy_cake
+ reagents = list("milk" = 5, "sugar" = 15, "holywater" = 15)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough
+ )
+ result = /obj/item/food/sliceable/holy_cake
+
+/datum/recipe/oven/liars_cake
+ reagents = list("milk" = 5, "sugar" = 15)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/berries,
+ /obj/item/food/chocolatebar,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/sliceable/liars_cake
+
+/datum/recipe/oven/vanilla_berry_cake
+ reagents = list("milk" = 5, "sugar" = 15)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/berries,
+ /obj/item/food/grown/berries
+ )
+ result = /obj/item/food/sliceable/vanilla_berry_cake
+
+/datum/recipe/oven/hardware_cake
+ reagents = list("milk" = 5, "sugar" = 15, "sacid" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/circuitboard,
+ /obj/item/circuitboard
+ )
+ result = /obj/item/food/sliceable/hardware_cake
+
+/datum/recipe/oven/plum_cake
+ reagents = list("milk" = 5, "sugar" = 15)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/grown/plum,
+ /obj/item/food/grown/plum
+ )
+ result = /obj/item/food/sliceable/plum_cake
+
+/datum/recipe/oven/pound_cake
+ reagents = list("milk" = 5, "sugar" = 15)
+ items = list(
+ /obj/item/food/sliceable/plaincake,
+ /obj/item/food/sliceable/plaincake,
+ /obj/item/food/sliceable/plaincake,
+ /obj/item/food/sliceable/plaincake
+ )
+ result = /obj/item/food/sliceable/pound_cake
+
+/datum/recipe/oven/pumpkin_spice_cake
+ reagents = list("milk" = 5, "sugar" = 15)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/grown/pumpkin,
+ /obj/item/food/grown/pumpkin
+ )
+ result = /obj/item/food/sliceable/pumpkin_spice_cake
+
+/datum/recipe/oven/slime_cake
+ reagents = list("milk" = 5, "sugar" = 15)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/slime_extract
+ )
+ result = /obj/item/food/sliceable/slime_cake
+
+/datum/recipe/oven/spaceman_cake
+ reagents = list("milk" = 5, "sugar" = 15, "cream" = 5, "berryjuice" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/grown/trumpet,
+ /obj/item/food/grown/trumpet
+ )
+ result = /obj/item/food/sliceable/spaceman_cake
+
+/datum/recipe/oven/vanilla_cake
+ reagents = list("milk" = 5, "sugar" = 15)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/dough,
+ /obj/item/food/grown/vanillapod,
+ /obj/item/food/grown/vanillapod
+ )
+ result = /obj/item/food/sliceable/vanilla_cake
+
+/datum/recipe/oven/mothmallow
+ reagents = list("vanilla" = 5, "sugar" = 15, "rum" = 5)
+ items = list(
+ /obj/item/food/grown/soybeans
+ )
+ result = /obj/item/food/sliceable/mothmallow
+
/datum/recipe/oven/carrotcake
reagents = list("milk" = 5, "sugar" = 15)
items = list(
@@ -169,6 +315,127 @@
)
result = /obj/item/food/berryclafoutis
+/datum/recipe/oven/cherry_cupcake
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/grown/cherries
+ )
+ result = /obj/item/food/cherry_cupcake
+
+/datum/recipe/oven/cherry_cupcake/blue
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/grown/bluecherries
+ )
+ result = /obj/item/food/cherry_cupcake/blue
+
+/datum/recipe/oven/oatmeal_cookie
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/grown/oat
+ )
+ result = /obj/item/food/oatmeal_cookie
+
+/datum/recipe/oven/raisin_cookie
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/dough,
+ /obj/item/food/no_raisin
+ )
+ result = /obj/item/food/raisin_cookie
+
+/datum/recipe/oven/peanut_butter_cookie
+ reagents = list("milk" = 5, "sugar" = 5, "peanutbutter" = 5)
+ items = list(
+ /obj/item/food/dough
+ )
+ result = /obj/item/food/peanut_butter_cookie
+
+/datum/recipe/oven/chocolate_cornet
+ reagents = list("milk" = 5, "sugar" = 5, "sodiumchloride" = 1)
+ items = list(
+ /obj/item/food/cookiedough,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/chocolate_cornet
+
+/datum/recipe/oven/honey_bun
+ reagents = list("milk" = 5, "sugar" = 5, "honey" = 5)
+ items = list(
+ /obj/item/food/cookiedough
+ )
+ result = /obj/item/food/honey_bun
+
+/datum/recipe/oven/cannoli
+ reagents = list("milk" = 1, "sugar" = 3)
+ items = list(
+ /obj/item/food/cookiedough
+ )
+ result = /obj/item/food/cannoli
+
+/datum/recipe/oven/beary_pie
+ items = list(
+ /obj/item/food/sliceable/flatdough,
+ /obj/item/food/monstermeat/bearmeat,
+ /obj/item/food/grown/berries
+ )
+ result = /obj/item/food/beary_pie
+
+/datum/recipe/oven/blumpkin_pie
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/sliceable/flatdough,
+ /obj/item/food/grown/pumpkin/blumpkin
+ )
+ result = /obj/item/food/sliceable/blumpkin_pie
+
+/datum/recipe/oven/chocolate_lava_tart
+ reagents = list("milk" = 5, "sugar" = 5)
+ items = list(
+ /obj/item/food/sliceable/flatdough,
+ /obj/item/food/chocolatebar,
+ /obj/item/food/chocolatebar,
+ /obj/item/food/chocolatebar,
+ /obj/item/slime_extract
+ )
+ result = /obj/item/food/chocolate_lava_tart
+
+/datum/recipe/oven/french_silk_pie
+ reagents = list("sugar" = 5)
+ items = list(
+ /obj/item/food/sliceable/flatdough,
+ /obj/item/food/chocolatebar,
+ /obj/item/food/chocolatebar
+ )
+ result = /obj/item/food/sliceable/french_silk_pie
+
+/datum/recipe/oven/frosty_pie
+ items = list(
+ /obj/item/food/sliceable/flatdough,
+ /obj/item/food/grown/bluecherries
+ )
+ result = /obj/item/food/sliceable/frosty_pie
+
+/datum/recipe/oven/grape_tart
+ reagents = list("milk = 5", "sugar" = 5)
+ items = list(
+ /obj/item/food/sliceable/flatdough,
+ /obj/item/food/grown/grapes,
+ /obj/item/food/grown/grapes,
+ /obj/item/food/grown/grapes
+ )
+ result = /obj/item/food/grape_tart
+
+/datum/recipe/oven/mime_tart
+ reagents = list("nothing" = 5, "milk = 5", "sugar" = 5)
+ items = list(
+ /obj/item/food/sliceable/flatdough
+ )
+ result = /obj/item/food/mime_tart
+
/datum/recipe/oven/tofubread
items = list(
/obj/item/food/dough,
diff --git a/code/modules/hydroponics/grown/cocoa_vanilla.dm b/code/modules/hydroponics/grown/cocoa_vanilla.dm
index cc21fca814ee..48c021c26e8b 100644
--- a/code/modules/hydroponics/grown/cocoa_vanilla.dm
+++ b/code/modules/hydroponics/grown/cocoa_vanilla.dm
@@ -47,3 +47,40 @@
filling_color = "#FEFEFE"
tastes = list("vanilla" = 1)
distill_reagent = "vanilla" //Takes longer, but you can get even more vanilla from it.
+
+// Bungo Pod
+
+/obj/item/seeds/cocoapod/bungotree
+ name = "pack of bungo tree seeds"
+ desc = "These seeds grow into bungo trees. They appear to be heavy and almost perfectly spherical."
+ icon_state = "seed-bungotree"
+ species = "bungotree"
+ plantname = "Bungo Tree"
+ product = /obj/item/food/grown/bungofruit
+ lifespan = 30
+ maturation = 4
+ yield = 3
+ production = 7
+ mutatelist = null
+ reagents_add = list("enzyme"= 0.1, "nutriment" = 0.1, "bungojuice" = 0.1)
+ growthstages = 4
+ growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
+ icon_grow = "bungotree-grow"
+ icon_dead = "bungotree-dead"
+
+/obj/item/food/grown/bungofruit
+ seed = /obj/item/seeds/cocoapod/bungotree
+ name = "bungo fruit"
+ desc = "A strange fruit, tough leathery skin protects its juicy flesh and large poisonous seed."
+ icon_state = "bungo"
+ trash = /obj/item/food/grown/bungopit
+ tastes = list("bungo" = 2, "tropical fruitiness" = 1, "an acidic, poisonous tang" = 1)
+ distill_reagent = null
+
+/obj/item/food/grown/bungopit
+ seed = /obj/item/seeds/cocoapod/bungotree
+ name = "bungo pit"
+ icon_state = "bungopit"
+ desc = "A large seed from a bungo fruit."
+ w_class = WEIGHT_CLASS_TINY
+ tastes = list("acrid bitterness" = 1)
diff --git a/code/modules/hydroponics/grown/flowers.dm b/code/modules/hydroponics/grown/flowers.dm
index 095aeca5190d..505ccd1b123a 100644
--- a/code/modules/hydroponics/grown/flowers.dm
+++ b/code/modules/hydroponics/grown/flowers.dm
@@ -38,7 +38,7 @@
icon_grow = "lily-grow"
icon_dead = "lily-dead"
product = /obj/item/food/grown/lily
- mutatelist = list()
+ mutatelist = list(/obj/item/seeds/poppy/lily/trumpet)
/obj/item/food/grown/lily
seed = /obj/item/seeds/poppy/lily
@@ -51,6 +51,36 @@
filling_color = "#C7BBAD"
distill_reagent = "vermouth"
+//Spaceman's Trumpet
+
+/obj/item/seeds/poppy/lily/trumpet
+ name = "pack of spaceman's trumpet seeds"
+ desc = "A plant sculped by extensive genetic engineering. The spaceman's trumpet is said to bear no resemblance to its wild ancestors. Inside NT AgriSci circles it is better known as NTPW-0372."
+ icon_state = "seed-trumpet"
+ species = "spacemanstrumpet"
+ plantname = "Spaceman's Trumpet Plant"
+ product = /obj/item/food/grown/trumpet
+ lifespan = 80
+ production = 5
+ endurance = 10
+ maturation = 12
+ yield = 4
+ potency = 20
+ growthstages = 4
+ weed_rate = 2
+ weed_chance = 10
+ growing_icon = 'icons/obj/hydroponics/growing_flowers.dmi'
+ icon_grow = "spacemanstrumpet-grow"
+ icon_dead = "spacemanstrumpet-dead"
+ mutatelist = null
+ reagents_add = list(/datum/reagent/consumable/nutriment = 0.05)
+
+/obj/item/food/grown/trumpet
+ seed = /obj/item/seeds/poppy/lily/trumpet
+ name = "spaceman's trumpet"
+ desc = "A vivid flower that smells faintly of freshly cut grass. Touching the flower seems to stain the skin some time after contact, yet most other surfaces seem to be unaffected by this phenomenon."
+ icon_state = "spacemanstrumpet"
+
// Geranium
/obj/item/seeds/poppy/geranium
name = "pack of geranium seeds"
diff --git a/code/modules/hydroponics/grown/plum.dm b/code/modules/hydroponics/grown/plum.dm
new file mode 100644
index 000000000000..dc342afa7809
--- /dev/null
+++ b/code/modules/hydroponics/grown/plum.dm
@@ -0,0 +1,23 @@
+/obj/item/seeds/plum
+ name = "pack of plum seeds"
+ desc = "These seeds grow into plum trees."
+ icon_state = "seed-plum"
+ species = "plum"
+ plantname = "Plum Tree"
+ product = /obj/item/food/grown/plum
+ lifespan = 55
+ endurance = 35
+ growing_icon = 'icons/obj/hydroponics/growing_fruits.dmi'
+ icon_grow = "plum-grow"
+ icon_dead = "plum-dead"
+ genes = list(/datum/plant_gene/trait/repeated_harvest)
+ reagents_add = list("nutriment" = 0.1, "vitamin" = 0.04, "plantmatter" = 0.1)
+
+/obj/item/food/grown/plum
+ seed = /obj/item/seeds/plum
+ name = "plum"
+ desc = "A poet's favorite fruit. Noice."
+ icon_state = "plum"
+ filling_color = "#F6CB0B"
+ bitesize = 4
+ tastes = list("plum" = 1)
diff --git a/code/modules/lavaland/caves_theme.dm b/code/modules/lavaland/caves_theme.dm
new file mode 100644
index 000000000000..6a47985fcf41
--- /dev/null
+++ b/code/modules/lavaland/caves_theme.dm
@@ -0,0 +1,214 @@
+/// Approximate lower bound of the walkable land area on Lavaland, north of the southern lava border.
+#define LAVALAND_MIN_CAVE_Y 10
+/// Approximate upper bound of the walkable land area on Lavaland, south of the Legion entrance.
+#define LAVALAND_MAX_CAVE_Y 222
+
+#define SPAWN_MEGAFAUNA "bluh bluh huge boss"
+
+/// Effective probability modifier for spawning flora and fauna in oases.
+#define OASIS_SPAWNER_PROB_MODIFIER 43
+
+GLOBAL_LIST_INIT(megafauna_spawn_list, list(
+ /mob/living/simple_animal/hostile/megafauna/dragon = 4,
+ /mob/living/simple_animal/hostile/megafauna/colossus = 2,
+ /mob/living/simple_animal/hostile/megafauna/bubblegum = 6,
+ /mob/living/simple_animal/hostile/megafauna/ancient_robot = 4,
+))
+
+GLOBAL_LIST_INIT(caves_default_mob_spawns, list(
+ /obj/effect/landmark/mob_spawner/abandoned_minebot = 6,
+ /obj/effect/landmark/mob_spawner/goldgrub = 10,
+ /obj/effect/landmark/mob_spawner/goliath = 50,
+ /obj/effect/landmark/mob_spawner/gutlunch = 4,
+ /obj/effect/landmark/mob_spawner/legion = 30,
+ /obj/effect/landmark/mob_spawner/watcher = 40,
+
+ /obj/structure/spawner/lavaland = 2,
+ /obj/structure/spawner/lavaland/goliath = 3,
+ /obj/structure/spawner/lavaland/legion = 3,
+
+ SPAWN_MEGAFAUNA = 6,
+))
+
+GLOBAL_LIST_INIT(caves_default_flora_spawns, list(
+ /obj/structure/flora/ash/cacti = 1,
+ /obj/structure/flora/ash/cap_shroom = 2,
+ /obj/structure/flora/ash/leaf_shroom = 2,
+ /obj/structure/flora/ash/rock/style_random = 1,
+ /obj/structure/flora/ash/stem_shroom = 2,
+ /obj/structure/flora/ash/tall_shroom = 2,
+))
+
+/proc/lavaland_caves_spawn_mob(turf/T, mob_scan_range = 12, megafauna_scan_range = 7)
+ var/mob_spawn = pickweight(GLOB.caves_default_mob_spawns)
+
+ while(mob_spawn == SPAWN_MEGAFAUNA)
+ if(istype(get_area(T), /area/lavaland/surface/outdoors/unexplored/danger)) //this is danger. it's boss time.
+ mob_spawn = pickweight(GLOB.megafauna_spawn_list)
+ else //this is not danger, don't spawn a boss, spawn something else
+ mob_spawn = pickweight(GLOB.caves_default_mob_spawns)
+
+ for(var/thing in urange(mob_scan_range, T))
+ if(!(ishostile(thing) || istype(thing, /obj/structure/spawner) || istype(thing, /obj/effect/landmark/mob_spawner)))
+ continue
+ // don't spawn a megafauna if there's already one within view
+ if((ispath(mob_spawn, /mob/living/simple_animal/hostile/megafauna) || ismegafauna(thing)) && (get_dist(T, thing) <= megafauna_scan_range))
+ return
+ // if the random is a standard mob, avoid spawning if there's another one within the scan range
+ if(ispath(mob_spawn, /obj/effect/landmark/mob_spawner) && istype(thing, /obj/effect/landmark/mob_spawner))
+ return
+ // prevents tendrils spawning in each other's collapse range
+ if((ispath(mob_spawn, /obj/structure/spawner/lavaland) && istype(thing, /obj/structure/spawner/lavaland)) && get_dist(T, thing) <= LAVALAND_TENDRIL_COLLAPSE_RANGE)
+ return
+
+ // there can be only one bubblegum, so don't waste spawns on it
+ if(ispath(mob_spawn, /mob/living/simple_animal/hostile/megafauna/bubblegum))
+ GLOB.megafauna_spawn_list.Remove(mob_spawn)
+
+ // same as above, we do not want multiple of these robots
+ if(ispath(mob_spawn, /mob/living/simple_animal/hostile/megafauna/ancient_robot))
+ GLOB.megafauna_spawn_list.Remove(mob_spawn)
+
+ new mob_spawn(T)
+ SSblackbox.record_feedback("tally", "lavaland_mob_spawns", 1, "[mob_spawn]")
+
+/proc/lavaland_caves_spawn_flora(turf/T)
+ var/flora_spawn = pickweight(GLOB.caves_default_flora_spawns)
+ for(var/obj/structure/flora/ash/F in range(4, T)) //Allows for growing patches, but not ridiculous stacks of flora
+ if(!istype(F, flora_spawn))
+ return
+ new flora_spawn(T)
+
+/datum/caves_theme
+ var/name = "Not Specified"
+
+ var/seed
+ var/perlin_accuracy = 5
+ var/perlin_stamp_size = 10
+ var/perlin_lower_range = 0
+ var/perlin_upper_range = 0.3
+
+/datum/caves_theme/New()
+ seed = rand(1, 999999)
+
+/datum/caves_theme/proc/setup()
+ var/result = rustg_dbp_generate("[seed]", "[perlin_accuracy]", "[perlin_stamp_size]", "[world.maxx]", "[perlin_lower_range]", "[perlin_upper_range]")
+ var/z = level_name_to_num(MINING)
+ for(var/turf/T in block(1, 1, z, world.maxx, world.maxy, z))
+ if(!istype(get_area(T), /area/lavaland/surface/outdoors/unexplored))
+ continue
+ if(!istype(T, /turf/simulated/mineral))
+ continue
+ var/c = result[world.maxx * (T.y - 1) + T.x]
+ if(c == "1")
+ T.ChangeTurf(/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface)
+ on_change(T)
+
+ CHECK_TICK
+
+/datum/caves_theme/proc/on_change(turf/T)
+ if(prob(2))
+ lavaland_caves_spawn_flora(T)
+ else if(prob(1))
+ lavaland_caves_spawn_mob(T)
+
+/datum/caves_theme/proc/safe_replace(turf/T)
+ if(T.flags & NO_LAVA_GEN)
+ return FALSE
+ if(!istype(get_area(T), /area/lavaland/surface/outdoors/unexplored))
+ return FALSE
+ if(istype(T, /turf/simulated/floor/chasm))
+ return FALSE
+ if(istype(T, /turf/simulated/floor/lava/lava_land_surface))
+ return FALSE
+ if(istype(T, /turf/simulated/floor/lava/mapping_lava))
+ return FALSE
+
+ return TRUE
+
+/datum/caves_theme/classic
+ name = "Classic Caves"
+
+/datum/caves_theme/burrows
+ name = "Blocked Burrows"
+ perlin_accuracy = 90
+ perlin_stamp_size = 7
+ perlin_lower_range = 0
+ perlin_upper_range = 0.3
+
+/datum/caves_theme/burrows/on_change(turf/T)
+ if(prob(9))
+ new /obj/structure/flora/ash/rock/style_random(T)
+ else if(prob(5))
+ lavaland_caves_spawn_flora(T)
+ else if(prob(1))
+ lavaland_caves_spawn_mob(T)
+
+/datum/caves_theme/deeprock/proc/maybe_make_room(turf/T)
+ if(rand(1, 150) != 1)
+ return
+
+ for(var/turf/oasis_centroid in oasis_centroids)
+ if(get_dist(T, oasis_centroid) < oasis_padding)
+ return
+
+ oasis_centroids |= T
+ var/new_scan_range = rand(4, 7)
+ var/tempradius = rand(10, 15)
+ var/probmodifer = OASIS_SPAWNER_PROB_MODIFIER * tempradius
+ var/list/oasis_turfs = list()
+ for(var/turf/NT in circlerangeturfs(T, tempradius))
+ var/distance = (max(get_dist(T, NT), 1)) //Get dist throws -1 if same turf
+ if(safe_replace(NT) && prob(min(probmodifer / distance, 100)))
+ var/turf/changed = NT.ChangeTurf(/turf/simulated/floor/plating/asteroid/basalt/lava_land_surface)
+ if(prob(5))
+ lavaland_caves_spawn_mob(changed, new_scan_range, new_scan_range)
+ else if(prob(10))
+ lavaland_caves_spawn_flora(changed)
+ oasis_turfs |= NT
+
+ if(prob(50))
+ tempradius = round(tempradius / 3)
+ var/oasis_laketype = pickweight(lake_weights)
+ if(oasis_laketype == /turf/simulated/floor/plating/asteroid)
+ new /obj/effect/spawner/oasisrock(T, tempradius)
+ for(var/turf/oasis in circlerangeturfs(T, tempradius))
+ if(safe_replace(oasis))
+ oasis.ChangeTurf(oasis_laketype)
+ oasis_turfs -= oasis
+
+ // Move tendrils out of the oasis
+ for(var/obj/structure/spawner/lavaland/O in circlerange(T, tempradius))
+ O.forceMove(pick_n_take(oasis_turfs))
+
+ return T
+
+/datum/caves_theme/deeprock
+ name = "Deadly Deeprock"
+ perlin_stamp_size = 12
+ perlin_lower_range = 0
+ perlin_upper_range = 0.2
+ var/oasis_padding = 50
+ var/list/oasis_centroids = list()
+ var/lake_weights = list(
+ /turf/simulated/floor/lava/lava_land_surface = 4,
+ /turf/simulated/floor/lava/lava_land_surface/plasma = 4,
+ /turf/simulated/floor/chasm/straight_down/lava_land_surface = 4,
+ /turf/simulated/floor/lava/mapping_lava = 6,
+ /turf/simulated/floor/beach/away/water/lavaland_air = 1,
+ /turf/simulated/floor/plating/asteroid = 1
+ )
+
+/datum/caves_theme/deeprock/on_change(turf/T)
+ maybe_make_room(T)
+ if(prob(3))
+ lavaland_caves_spawn_flora(T)
+ else if(prob(2))
+ lavaland_caves_spawn_mob(T)
+
+
+#undef OASIS_SPAWNER_PROB_MODIFIER
+#undef SPAWN_MEGAFAUNA
+
+#undef LAVALAND_MIN_CAVE_Y
+#undef LAVALAND_MAX_CAVE_Y
diff --git a/code/modules/lavaland/lavaland_theme.dm b/code/modules/lavaland/lavaland_theme.dm
index 20dfdecb38ae..08ce4d374a78 100644
--- a/code/modules/lavaland/lavaland_theme.dm
+++ b/code/modules/lavaland/lavaland_theme.dm
@@ -1,8 +1,3 @@
-/// Approximate lower bound of the walkable land area on Lavaland, north of the southern lava border.
-#define LAVALAND_MIN_CAVE_Y 10
-/// Approximate upper bound of the walkable land area on Lavaland, south of the Legion entrance.
-#define LAVALAND_MAX_CAVE_Y 222
-
/datum/lavaland_theme
/// Name of lavaland theme
var/name = "Not Specified"
@@ -17,20 +12,6 @@
else if(!ispath(primary_turf_type))
stack_trace("Wrong turf type `[primary_turf_type.type]` in `[type]` lavaland theme")
-/datum/lavaland_theme/proc/setup_caves()
- var/max_attempts = 100
- var/max_cave_spawns = 40
- var/z = level_name_to_num(MINING)
- while(max_attempts > 0 && max_cave_spawns > 0)
- var/x = rand(1, world.maxx)
- var/y = rand(LAVALAND_MIN_CAVE_Y, LAVALAND_MAX_CAVE_Y)
- var/turf/next_turf = locate(x, y, z)
- var/area/next_area = get_area(next_turf)
- if(istype(next_turf, /turf/simulated/mineral/random/volcanic) && istype(next_area, /area/lavaland/surface/outdoors/unexplored/danger))
- next_turf.ChangeTurf(/turf/simulated/floor/plating/asteroid/airless/cave/volcanic, FALSE, TRUE, TRUE)
- max_cave_spawns--
- max_attempts--
-
/**
* This proc should do all theme specific thing.
* Now it only generates rivers, but it can do all stuff you desire.
@@ -66,5 +47,3 @@
var/datum/river_spawner/spawner = new(level_name_to_num(MINING), spread_prob_ = 10, spread_prob_loss_ = 5)
spawner.generate(nodes = 6, min_x = 50, min_y = 7, max_x = 250, max_y = 225)
-#undef LAVALAND_MIN_CAVE_Y
-#undef LAVALAND_MAX_CAVE_Y
diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm
index 89757f89d5e3..b3578178ab32 100644
--- a/code/modules/lighting/lighting_atom.dm
+++ b/code/modules/lighting/lighting_atom.dm
@@ -99,8 +99,11 @@
cut_overlay(exposure_overlay)
if(glow_icon && glow_icon_state)
- glow_overlay = image(icon = glow_icon, icon_state = glow_icon_state, dir = dir, layer = 1)
- glow_overlay.plane = LIGHTING_LAMPS_PLANE
+ glow_overlay = image(icon = glow_icon, icon_state = glow_icon_state, dir = dir, layer = -2)
+ if(layer <= LOW_OBJ_LAYER)
+ glow_overlay.plane = FLOOR_LIGHTING_LAMPS_PLANE // Yeah this sucks
+ else
+ glow_overlay.plane = LIGHTING_LAMPS_PLANE
glow_overlay.blend_mode = BLEND_ADD
if(glow_colored)
diff --git a/code/modules/maze_generation/maze_generator.dm b/code/modules/maze_generation/maze_generator.dm
index 7891393482f9..234cce94a8fc 100644
--- a/code/modules/maze_generation/maze_generator.dm
+++ b/code/modules/maze_generation/maze_generator.dm
@@ -162,7 +162,6 @@
// Gather the windows. If a spot has 3 windows on it, its a dead end
var/windowcount = 0
for(var/obj/structure/window/reinforced/mazeglass/W in T)
- pass(W) // Stops DM whining about unused vars
windowcount++
CHECK_TICK
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index 4b54760533a7..191ae6906660 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -203,7 +203,7 @@
icon_state = "[initial(icon_state)]_dead"
item_state = "facehugger_inactive"
stat = DEAD
- qdel(GetComponent(/datum/component/proximity_monitor))
+ DeleteComponent(/datum/component/proximity_monitor)
visible_message("[src] curls up into a ball!")
diff --git a/code/modules/mob/living/carbon/human/human_mob.dm b/code/modules/mob/living/carbon/human/human_mob.dm
index c73e1df7734b..4c914284b5c9 100644
--- a/code/modules/mob/living/carbon/human/human_mob.dm
+++ b/code/modules/mob/living/carbon/human/human_mob.dm
@@ -21,7 +21,7 @@
if(!mind)
return FALSE
if(mind.miming)
- qdel(GetComponent(/datum/component/footstep))
+ DeleteComponent(/datum/component/footstep)
return TRUE
/**
diff --git a/code/modules/mob/living/carbon/human/species/machine.dm b/code/modules/mob/living/carbon/human/species/machine.dm
index a7503197e841..38b70dcfa4d0 100644
--- a/code/modules/mob/living/carbon/human/species/machine.dm
+++ b/code/modules/mob/living/carbon/human/species/machine.dm
@@ -33,7 +33,7 @@
//Default styles for created mobs.
default_hair = "Blue IPC Screen"
dies_at_threshold = TRUE
- can_revive_by_healing = 1
+ can_revive_by_healing = TRUE
reagent_tag = PROCESS_SYN
male_scream_sound = 'sound/goonstation/voice/robot_scream.ogg'
female_scream_sound = 'sound/goonstation/voice/robot_scream.ogg'
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 13b6818105d6..074081bba93f 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -265,10 +265,6 @@
// 100 volume - 20 seconds of lost sleep
AdjustSleeping(-(volume * 0.2 SECONDS), bound_lower = 1 SECONDS) // showers cannot save you from sleeping gas, 1 second lower boundary
-//This is called when the mob is thrown into a dense turf
-/mob/living/proc/turf_collision(turf/T, speed)
- src.take_organ_damage(speed*5)
-
/mob/living/proc/near_wall(direction, distance=1)
var/turf/T = get_step(get_turf(src),direction)
var/turf/last_turf = src.loc
diff --git a/code/modules/mob/living/silicon/robot/robot_mob.dm b/code/modules/mob/living/silicon/robot/robot_mob.dm
index ebd84809c5de..43d30fcc1b49 100644
--- a/code/modules/mob/living/silicon/robot/robot_mob.dm
+++ b/code/modules/mob/living/silicon/robot/robot_mob.dm
@@ -965,11 +965,9 @@ GLOBAL_LIST_INIT(robot_verbs_default, list(
else if(!src.module && U.require_module)
to_chat(user, "The borg must choose a module before it can be upgraded!")
else
- if(!user.drop_item())
- return
- if(U.action(src))
+ if(U.action(user, src))
user.visible_message("[user] applied [U] to [src].", "You apply [U] to [src].")
- U.forceMove(src)
+
else if(istype(W, /obj/item/mmi_radio_upgrade))
if(!opened)
diff --git a/code/modules/mob/living/simple_animal/corpse.dm b/code/modules/mob/living/simple_animal/corpse.dm
index 5d28b33ca164..85cb40e3d1d4 100644
--- a/code/modules/mob/living/simple_animal/corpse.dm
+++ b/code/modules/mob/living/simple_animal/corpse.dm
@@ -57,7 +57,6 @@
gloves = /obj/item/clothing/gloves/combat
l_ear = /obj/item/radio/headset
mask = /obj/item/clothing/mask/gas/syndicate
- back = /obj/item/mod/control/pre_equipped/traitor_elite
r_pocket = /obj/item/tank/internals/emergency_oxygen
id = /obj/item/card/id
diff --git a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm
index 88c8bb0a212f..fa47cc5ff25b 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining/elites/elite.dm
@@ -413,7 +413,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
text += "If teleported to the Station by jaunter, you are allowed to attack people on Station, until you get killed."
to_chat(mychild, text.Join(" "))
- qdel(GetComponent(/datum/component/proximity_monitor))
+ DeleteComponent(/datum/component/proximity_monitor)
/obj/item/tumor_shard
name = "tumor shard"
diff --git a/code/modules/mob/mob_misc_procs.dm b/code/modules/mob/mob_misc_procs.dm
index 24f71570e459..661773a35b42 100644
--- a/code/modules/mob/mob_misc_procs.dm
+++ b/code/modules/mob/mob_misc_procs.dm
@@ -265,24 +265,40 @@
phrase = html_decode(phrase)
var/leng = length_char(phrase)
var/counter = length_char(phrase)
- var/newphrase = ""
- var/newletter = ""
+ var/list/newphrase = list()
+ var/newletter
while(counter >= 1)
- newletter=copytext_char(phrase, (leng - counter) + 1, (leng - counter) + 2)
- if(rand(1,3)==3)
- if(lowertext(newletter)=="o") newletter="u"; if(lowertext(newletter)=="о") newletter="у"; if(lowertext(newletter)=="э") newletter="и"
- if(lowertext(newletter)=="s") newletter="ch"; if(lowertext(newletter)=="с") newletter="сш"; if(lowertext(newletter)=="г") newletter="х"
- if(lowertext(newletter)=="a") newletter="ah"; if(lowertext(newletter)=="а") newletter="ах"
- if(lowertext(newletter)=="c") newletter="k"; if(lowertext(newletter)=="ц") newletter="сц"
- switch(rand(1,15))
- if(1,3,5,8) newletter="[lowertext(newletter)]"
- if(2,4,6,15) newletter="[uppertext(newletter)]"
- if(7) newletter+=pick(slurletters)
+ newletter = copytext_char(phrase, (leng - counter) + 1, (leng - counter) + 2)
+ if(prob(33.33))
+ if(lowertext(newletter) == "o")
+ newletter = "u"
+ if(lowertext(newletter) == "о")
+ newletter = "у"
+ if(lowertext(newletter) == "э")
+ newletter = "и"
+ if(lowertext(newletter) == "s")
+ newletter = "ch"
+ if(lowertext(newletter) == "с")
+ newletter = "сш"
+ if(lowertext(newletter) == "a")
+ newletter = "ah"
+ if(lowertext(newletter) == "а")
+ newletter = "ах"
+ if(lowertext(newletter) == "c")
+ newletter = "k"
+ if(lowertext(newletter) == "ц")
+ newletter = "сц"
+ if(prob(60))
+ if(prob(11.11))
+ newletter += pick(slurletters)
else
- pass()
- newphrase+="[newletter]"
- counter-=1
- return newphrase
+ if(prob(50))
+ newletter = lowertext(newletter)
+ else
+ newletter = uppertext(newletter)
+ newphrase += newletter
+ counter -= 1
+ return newphrase.Join("")
/proc/stutter(phrase, stamina_loss = 0, robotic = FALSE)
phrase = html_decode(phrase)
@@ -676,49 +692,42 @@
rename_character(oldname, newname)
-/proc/cultslur(n) // Inflicted on victims of a stun talisman
- var/phrase = html_decode(n)
+/proc/cultslur(phrase)
+ phrase = html_decode(phrase)
var/leng = length_char(phrase)
var/counter = length_char(phrase)
- var/newphrase=""
- var/newletter=""
- while(counter>=1)
- newletter=copytext_char(phrase, (leng - counter) + 1, (leng - counter) + 2)
- if(rand(1,2)==2)
- if(lowertext(newletter)=="o")
- newletter="u"
- if(lowertext(newletter)=="t")
- newletter="ch"
- if(lowertext(newletter)=="a")
- newletter="ah"
- if(lowertext(newletter)=="u")
- newletter="oo"
- if(lowertext(newletter)=="c")
- newletter=" NAR "
- if(lowertext(newletter)=="s")
- newletter=" SIE "
- if(rand(1,4)==4)
- if(newletter==" ")
- newletter=" no hope... "
- if(newletter=="H")
- newletter=" IT COMES... "
-
- switch(rand(1,15))
- if(1)
- newletter="'"
- if(2)
- newletter+="agn"
- if(3)
- newletter="fth"
- if(4)
- newletter="nglu"
- if(5)
- newletter="glor"
+ var/list/newphrase = list()
+ var/newletter
+ while(counter >= 1)
+ newletter = copytext_char(phrase, (leng - counter) + 1, (leng - counter) + 2)
+ if(prob(50))
+ if(lowertext(newletter) == "o")
+ newletter = "u"
+ if(lowertext(newletter) == "t")
+ newletter = "ch"
+ if(lowertext(newletter) == "a")
+ newletter = "ah"
+ if(lowertext(newletter) == "u")
+ newletter = "oo"
+ if(lowertext(newletter) == "c")
+ newletter = " NAR "
+ if(lowertext(newletter) == "s")
+ newletter = " SIE "
+ if(prob(25))
+ if(newletter == " ")
+ newletter = " no hope... "
+ if(newletter == "H")
+ newletter = " IT COMES... "
+
+ if(prob(33.33))
+ if(prob(20))
+ newletter += "agn"
else
- pass()
+ newletter = pick("'", "fth", "nglu", "glor")
- newphrase+="[newletter]";counter-=1
- return newphrase
+ newphrase += newletter
+ counter -= 1
+ return newphrase.Join("")
// Why does this exist?
/mob/proc/get_preference(toggleflag)
diff --git a/code/modules/mod/mod_core.dm b/code/modules/mod/mod_core.dm
index c2ce61cab7e7..40d9abe1a3a4 100644
--- a/code/modules/mod/mod_core.dm
+++ b/code/modules/mod/mod_core.dm
@@ -86,7 +86,7 @@
if(cell)
install_cell(cell)
RegisterSignal(mod, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine))
- RegisterSignal(mod, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand))
+ RegisterSignal(mod, COMSIG_CLICK_CTRL, PROC_REF(on_ctrl_click))
RegisterSignal(mod, COMSIG_MOD_WEARER_SET, PROC_REF(on_wearer_set))
if(mod.wearer)
on_wearer_set(mod, mod.wearer)
@@ -94,7 +94,7 @@
/obj/item/mod/core/standard/uninstall()
if(!QDELETED(cell))
cell.forceMove(drop_location())
- UnregisterSignal(mod, list(COMSIG_PARENT_EXAMINE, COMSIG_ATOM_ATTACK_HAND, COMSIG_MOD_WEARER_SET))
+ UnregisterSignal(mod, list(COMSIG_PARENT_EXAMINE, COMSIG_CLICK_CTRL, COMSIG_MOD_WEARER_SET))
if(mod.wearer)
on_wearer_unset(mod, mod.wearer)
return ..()
@@ -179,10 +179,10 @@
if(!mod.open)
return
- examine_text += cell ? "You could remove the cell with an empty hand." : "You could use a cell on it to install one."
+ examine_text += cell ? "You could remove the cell while in hand or being worn with Ctrl-Click." : "You could use a cell on it to install one."
-/obj/item/mod/core/standard/proc/on_attack_hand(datum/source, mob/living/user)
- SIGNAL_HANDLER
+/obj/item/mod/core/standard/proc/on_ctrl_click(datum/source, mob/living/user)
+ SIGNAL_HANDLER // COMSIG_CLICK_CTRL
if(mod.seconds_electrified && charge_amount() && mod.shock(user))
return COMPONENT_CANCEL_ATTACK_CHAIN
diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm
index 3bfdf62ccb64..909cb209e504 100644
--- a/code/modules/mod/modules/modules_antag.dm
+++ b/code/modules/mod/modules/modules_antag.dm
@@ -506,7 +506,7 @@
/obj/item/mod/module/energy_shield/on_suit_deactivation(deleting = FALSE)
var/datum/component/shielded/shield = mod.GetComponent(/datum/component/shielded)
charges = shield.current_charges
- qdel(shield)
+ shield.RemoveComponent()
UnregisterSignal(mod.wearer, COMSIG_HUMAN_CHECK_SHIELDS)
/obj/item/mod/module/energy_shield/proc/shield_reaction(mob/living/carbon/human/owner,
@@ -581,7 +581,7 @@
return FALSE
var/datum/component/shielded/shield = mod.GetComponent(/datum/component/shielded)
charges = shield.current_charges
- qdel(shield)
+ shield.RemoveComponent()
UnregisterSignal(mod.wearer, COMSIG_HUMAN_CHECK_SHIELDS)
REMOVE_TRAIT(mod.wearer, TRAIT_SHOCKIMMUNE, UNIQUE_TRAIT_SOURCE(src))
diff --git a/code/modules/mod/modules/modules_service.dm b/code/modules/mod/modules/modules_service.dm
index 69720a0e3549..617ef90756cb 100644
--- a/code/modules/mod/modules/modules_service.dm
+++ b/code/modules/mod/modules/modules_service.dm
@@ -38,7 +38,8 @@
/obj/item/mod/module/waddle/on_suit_deactivation(deleting = FALSE)
if(!deleting)
- qdel(mod.boots.GetComponent(/datum/component/squeak))
+ mod.boots.DeleteComponent(/datum/component/squeak)
+
mod.wearer.RemoveElement(/datum/element/waddling)
//Boot heating - dries floors like galoshes/dry
diff --git a/code/modules/power/lights.dm b/code/modules/power/lights.dm
index 04de3076a22a..f0590e088447 100644
--- a/code/modules/power/lights.dm
+++ b/code/modules/power/lights.dm
@@ -14,6 +14,10 @@
#define MAXIMUM_SAFE_BACKUP_CHARGE 600
#define EMERGENCY_LIGHT_POWER_USE 0.5
+#define LIGHT_CONSTRUCT_EMPTY_FRAME 1
+#define LIGHT_CONSTRUCT_WIRED 2
+#define LIGHT_CONSTRUCT_COMPLETED 3
+
/**
* # Light fixture frame
*
@@ -27,84 +31,73 @@
icon = 'icons/obj/lighting.dmi'
icon_state = "tube-construct-stage1"
anchored = TRUE
- layer = 5
+ layer = FLY_LAYER
max_integrity = 200
armor = list(MELEE = 50, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 80, ACID = 50)
- /// Construction stage (1 = Empty frame | 2 = Wired frame | 3 = Completed frame)
- var/stage = 1
+ /// Construction stage
+ var/stage = LIGHT_CONSTRUCT_EMPTY_FRAME
/// Light bulb type
var/fixture_type = "tube"
/// How many metal sheets get given after deconstruction
var/sheets_refunded = 2
/// Holder for the completed fixture
- var/obj/machinery/light/newlight = null
+ var/obj/machinery/light/construct_type = /obj/machinery/light/built
/obj/machinery/light_construct/Initialize(mapload, ndir, building)
. = ..()
- if(fixture_type == "bulb")
- icon_state = "bulb-construct-stage1"
+ update_icon(UPDATE_ICON_STATE)
/obj/machinery/light_construct/examine(mob/user)
. = ..()
if(get_dist(user, src) <= 2)
switch(stage)
- if(1)
+ if(LIGHT_CONSTRUCT_EMPTY_FRAME)
. += "It's an empty frame bolted to the wall. It needs to be wired."
- if(2)
+ if(LIGHT_CONSTRUCT_WIRED)
. += "The frame is wired, but the casing's cover is unscrewed."
- if(3)
+ if(LIGHT_CONSTRUCT_COMPLETED)
. += "The casing is screwed shut."
/obj/machinery/light_construct/wrench_act(mob/living/user, obj/item/I)
. = TRUE
switch(stage)
- if(1)
+ if(LIGHT_CONSTRUCT_EMPTY_FRAME)
to_chat(user, "You begin to dismantle [src].")
if(!I.use_tool(src, user, 30, volume = I.tool_volume))
return
new /obj/item/stack/sheet/metal(get_turf(loc), sheets_refunded)
TOOL_DISMANTLE_SUCCESS_MESSAGE
qdel(src)
- if(2)
+ if(LIGHT_CONSTRUCT_WIRED)
to_chat(user, "You have to remove the wires first.")
- if(3)
+ if(LIGHT_CONSTRUCT_COMPLETED)
to_chat(user, "You have to unscrew the case first.")
/obj/machinery/light_construct/wirecutter_act(mob/living/user, obj/item/I)
- if(stage != 2)
+ if(stage != LIGHT_CONSTRUCT_WIRED)
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
. = TRUE
- stage = 1
- switch(fixture_type)
- if("tube")
- icon_state = "tube-construct-stage1"
- if("bulb")
- icon_state = "bulb-construct-stage1"
+
+ stage = LIGHT_CONSTRUCT_EMPTY_FRAME
+ update_icon(UPDATE_ICON_STATE)
new /obj/item/stack/cable_coil(get_turf(loc), 1, paramcolor = COLOR_RED)
WIRECUTTER_SNIP_MESSAGE
/obj/machinery/light_construct/screwdriver_act(mob/living/user, obj/item/I)
- if(stage != 2)
+ if(stage != LIGHT_CONSTRUCT_WIRED)
return
. = TRUE
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- switch(fixture_type)
- if("tube")
- icon_state = "tube-empty"
- if("bulb")
- icon_state = "bulb-empty"
- stage = 3
+
+ stage = LIGHT_CONSTRUCT_COMPLETED
+ update_icon(UPDATE_ICON_STATE)
user.visible_message("[user] closes [src]'s casing.", \
"You close [src]'s casing.", "You hear a screwdriver.")
- switch(fixture_type)
- if("tube")
- newlight = new /obj/machinery/light/built(loc)
- if("bulb")
- newlight = new /obj/machinery/light/small/built(loc)
+ var/obj/machinery/light/newlight = new construct_type(loc)
newlight.setDir(dir)
transfer_fingerprints_to(newlight)
qdel(src)
@@ -112,16 +105,12 @@
/obj/machinery/light_construct/attackby(obj/item/W, mob/living/user, params)
add_fingerprint(user)
if(istype(W, /obj/item/stack/cable_coil))
- if(stage != 1)
+ if(stage != LIGHT_CONSTRUCT_EMPTY_FRAME)
return
var/obj/item/stack/cable_coil/coil = W
coil.use(1)
- switch(fixture_type)
- if("tube")
- icon_state = "tube-construct-stage2"
- if("bulb")
- icon_state = "bulb-construct-stage2"
- stage = 2
+ stage = LIGHT_CONSTRUCT_WIRED
+ update_icon(UPDATE_ICON_STATE)
playsound(loc, coil.usesound, 50, 1)
user.visible_message("[user.name] adds wires to [src].", \
"You add wires to [src].", "You hear a noise.")
@@ -138,6 +127,13 @@
new /obj/item/stack/sheet/metal(loc, sheets_refunded)
qdel(src)
+/obj/machinery/light_construct/update_icon_state()
+ . = ..()
+ if(stage == LIGHT_CONSTRUCT_COMPLETED)
+ icon_state = "[fixture_type]-empty"
+ return
+ icon_state = "[fixture_type]-construct-stage[stage]"
+
/**
* # Small light fixture frame
*
@@ -148,13 +144,28 @@
/obj/machinery/light_construct/small
name = "small light fixture frame"
desc = "A small light fixture under construction."
- icon = 'icons/obj/lighting.dmi'
icon_state = "bulb-construct-stage1"
anchored = TRUE
- layer = 5
- stage = 1
+ layer = FLY_LAYER
fixture_type = "bulb"
sheets_refunded = 1
+ construct_type = /obj/machinery/light/small/built
+
+/obj/machinery/light_construct/floor
+ name = "floor light fixture frame"
+ desc = "A floor light fixture under construction."
+ icon_state = "floor-construct-stage1"
+ anchored = TRUE
+ layer = ABOVE_OPEN_TURF_LAYER
+ plane = FLOOR_PLANE
+ fixture_type = "floor"
+ sheets_refunded = 3
+ construct_type = /obj/machinery/light/floor/built
+
+
+#undef LIGHT_CONSTRUCT_EMPTY_FRAME
+#undef LIGHT_CONSTRUCT_WIRED
+#undef LIGHT_CONSTRUCT_COMPLETED
/**
@@ -170,7 +181,7 @@
glow_icon_state = "tube"
exposure_icon_state = "cone"
anchored = TRUE
- layer = 5
+ layer = FLY_LAYER
max_integrity = 100
power_state = ACTIVE_POWER_USE
idle_power_consumption = 2 //when in low power mode
@@ -198,6 +209,8 @@
var/light_type = /obj/item/light/tube
/// Type of light bulb that goes into the fixture
var/fitting = "tube"
+ /// What light construct type to turn into when we are deconstructed
+ var/obj/machinery/light_construct/deconstruct_type = /obj/machinery/light_construct
/// How many times has the light been switched on/off? (This is used to calc the probability the light burns out)
var/switchcount = 0
/// Is the light rigged to explode?
@@ -238,6 +251,7 @@
brightness_color = "#a0a080"
nightshift_light_range = 4
light_type = /obj/item/light/bulb
+ deconstruct_type = /obj/machinery/light_construct/small
/obj/machinery/light/spot
name = "spotlight"
@@ -245,13 +259,30 @@
brightness_range = 12
brightness_power = 4
-/obj/machinery/light/built/Initialize(mapload)
+/obj/machinery/light/floor
+ name = "floor light"
+ desc = "A lightbulb you can walk on without breaking it, amazing."
+ icon_state = "floor1"
+ glow_icon_state = "floor"
+ exposure_icon_state = "floor_circle"
+ base_state = "floor"
+ fitting = "bulb"
+ light_type = /obj/item/light/bulb
+ deconstruct_type = /obj/machinery/light_construct/floor
+ brightness_range = 6
+ nightshift_light_range = 6
+ layer = ABOVE_OPEN_TURF_LAYER
+ plane = FLOOR_PLANE
+
+/obj/machinery/light/built
status = LIGHT_EMPTY
- return ..()
-/obj/machinery/light/small/built/Initialize(mapload)
+/obj/machinery/light/small/built
status = LIGHT_EMPTY
- return ..()
+
+/obj/machinery/light/floor/built
+ status = LIGHT_EMPTY
+
// create a new lighting fixture
/obj/machinery/light/Initialize(mapload)
@@ -265,7 +296,7 @@
if(A && !A.requires_power)
on = TRUE
- switch(fitting)
+ switch(base_state)
if("tube")
brightness_range = 8
if(prob(2))
@@ -275,6 +306,11 @@
brightness_color = "#a0a080"
if(prob(5))
break_light_tube(TRUE)
+ if("floor")
+ brightness_range = 6
+ brightness_color = "#a0a080"
+ if(prob(3))
+ break_light_tube(TRUE)
update(FALSE, TRUE, FALSE)
/obj/machinery/light/proc/on_security_level_change_planned(datum/source, previous_level_number, new_level_number)
@@ -557,18 +593,10 @@
/obj/machinery/light/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
- var/obj/machinery/light_construct/newlight = null
var/cur_stage = 2
if(!disassembled)
cur_stage = 1
- switch(fitting)
- if("tube")
- newlight = new /obj/machinery/light_construct(loc)
- newlight.icon_state = "tube-construct-stage2"
-
- if("bulb")
- newlight = new /obj/machinery/light_construct/small(loc)
- newlight.icon_state = "bulb-construct-stage2"
+ var/obj/machinery/light_construct/newlight = new deconstruct_type(loc)
newlight.setDir(dir)
newlight.stage = cur_stage
if(!disassembled)
@@ -578,6 +606,7 @@
if(status != LIGHT_EMPTY)
drop_light_tube()
new /obj/item/stack/cable_coil(loc, 1, "red")
+ newlight.update_icon(UPDATE_ICON_STATE)
transfer_fingerprints_to(newlight)
qdel(src)
@@ -822,6 +851,22 @@
explosion(T, 0, 0, 2, 2)
qdel(src)
+/obj/machinery/light/extinguish_light(force = FALSE)
+ on = FALSE
+ extinguished = TRUE
+ emergency_mode = FALSE
+ no_emergency = TRUE
+ addtimer(CALLBACK(src, PROC_REF(enable_emergency_lighting)), 5 MINUTES, TIMER_UNIQUE|TIMER_OVERRIDE)
+ visible_message("[src] flickers and falls dark.")
+ update(FALSE)
+
+/obj/machinery/light/proc/enable_emergency_lighting()
+ visible_message("[src]'s emergency lighting flickers back to life.")
+ extinguished = FALSE
+ no_emergency = FALSE
+ update(FALSE)
+
+
/**
* MARK: Light item
*
@@ -908,14 +953,6 @@
..()
shatter()
-/obj/item/light/bulb/fire
- name = "fire bulb"
- desc = "A replacement fire bulb."
- icon_state = "fbulb"
- base_state = "fbulb"
- item_state = "egg4"
- brightness_range = 5
-
// update the icon state and description of the light
/obj/item/light/proc/update()
@@ -933,11 +970,6 @@
/obj/item/light/New()
..()
- switch(name)
- if("light tube")
- brightness_range = rand(6,9)
- if("light bulb")
- brightness_range = rand(4,6)
update()
@@ -990,21 +1022,6 @@
limb.droplimb(0, DROPLIMB_BURN)
return FIRELOSS
-/obj/machinery/light/extinguish_light(force = FALSE)
- on = FALSE
- extinguished = TRUE
- emergency_mode = FALSE
- no_emergency = TRUE
- addtimer(CALLBACK(src, PROC_REF(enable_emergency_lighting)), 5 MINUTES, TIMER_UNIQUE|TIMER_OVERRIDE)
- visible_message("[src] flickers and falls dark.")
- update(FALSE)
-
-/obj/machinery/light/proc/enable_emergency_lighting()
- visible_message("[src]'s emergency lighting flickers back to life.")
- extinguished = FALSE
- no_emergency = FALSE
- update(FALSE)
-
#undef MAXIMUM_SAFE_BACKUP_CHARGE
#undef EMERGENCY_LIGHT_POWER_USE
#undef LIGHT_OK
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 70869766e3b8..ad85a7e67f75 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -291,6 +291,7 @@
require_module = TRUE
module_type = /obj/item/robot_module/miner
usesound = 'sound/items/screwdriver.ogg'
+ allow_duplicate = TRUE
var/denied_type = null
var/maximum_of_type = 1
var/cost = 30
@@ -313,12 +314,12 @@
else
return ..()
-/obj/item/borg/upgrade/modkit/action(mob/living/silicon/robot/R)
+/obj/item/borg/upgrade/modkit/action(mob/user, mob/living/silicon/robot/R)
if(!..())
return
for(var/obj/item/gun/energy/kinetic_accelerator/cyborg/H in R.module.modules)
- return install(H, usr)
+ return install(H, user)
/obj/item/borg/upgrade/modkit/proc/install(obj/item/gun/energy/kinetic_accelerator/KA, mob/user)
. = TRUE
diff --git a/code/modules/projectiles/guns/projectile/toy.dm b/code/modules/projectiles/guns/projectile/toy.dm
index dcf3c6261a77..27d195f82d9e 100644
--- a/code/modules/projectiles/guns/projectile/toy.dm
+++ b/code/modules/projectiles/guns/projectile/toy.dm
@@ -99,6 +99,7 @@
suppressed_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
needs_permit = FALSE
mag_type = /obj/item/ammo_box/magazine/toy/smgm45
+ origin_tech = "combat=3;materials=2;syndicate=2"
/obj/item/gun/projectile/automatic/c20r/toy/riot
mag_type = /obj/item/ammo_box/magazine/toy/smgm45/riot
@@ -133,6 +134,7 @@
inhand_y_dimension = 32
mag_type = /obj/item/ammo_box/magazine/internal/shot/toy/tommygun
w_class = WEIGHT_CLASS_SMALL
+ origin_tech = "combat=3;materials=2;syndicate=2"
/obj/item/gun/projectile/automatic/sniper_rifle/toy
name = "donksoft sniper rifle"
diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index 85376f0d8e2e..45eae9706d47 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -76,7 +76,8 @@
/obj/item/food/grown/pumpkin = list("pumpkinjuice" = 0),
/obj/item/food/grown/apple = list("applejuice" = 0),
/obj/item/food/grown/grapes = list("grapejuice" = 0),
- /obj/item/food/grown/pineapple = list("pineapplejuice" = 0)
+ /obj/item/food/grown/pineapple = list("pineapplejuice" = 0),
+ /obj/item/food/grown/bungofruit = list("bungojuice" = 0)
)
var/list/dried_items = list(
diff --git a/code/modules/reagents/chemistry/reagents/alcohol.dm b/code/modules/reagents/chemistry/reagents/alcohol.dm
index af10f6ee3f92..d661a9fad43f 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol.dm
@@ -1504,14 +1504,11 @@
/datum/reagent/consumable/ethanol/fernet/on_mob_life(mob/living/M)
var/update_flags = STATUS_UPDATE_NONE
if(!M.nutrition)
- switch(rand(1, 3))
- if(1)
- to_chat(M, "You feel hungry...")
- if(2)
- update_flags |= M.adjustToxLoss(1, FALSE)
- to_chat(M, "Your stomach grumbles painfully!")
- else
- pass()
+ if(prob(66.66))
+ to_chat(M, "You feel hungry...")
+ else if(prob(50))
+ update_flags |= M.adjustToxLoss(1, FALSE)
+ to_chat(M, "Your stomach grumbles painfully!")
else
if(prob(60))
M.adjust_nutrition(-remove_nutrition)
diff --git a/code/modules/reagents/chemistry/reagents/drinks_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks_reagents.dm
index c1561de6b6ed..1371a3bf5224 100644
--- a/code/modules/reagents/chemistry/reagents/drinks_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drinks_reagents.dm
@@ -140,6 +140,15 @@
drink_desc = "Apple juice. Maybe it would have been better in a pie..."
taste_description = "apple juice"
+/datum/reagent/consumable/bungojuice
+ name = "Bungo Juice"
+ id = "bungojuice"
+ description = "Exotic! You feel like you are on vacation already."
+ color = "#F9E43D"
+ drink_name = "Bungo Juice"
+ drink_desc = "Exotic! You feel like you are on vacation already."
+ taste_description = "succulent bungo with an acidic poisonous tang"
+
/datum/reagent/consumable/drink/watermelonjuice
name = "Watermelon Juice"
id = "watermelonjuice"
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index a983c66b1a00..ead46024498a 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -679,6 +679,22 @@
if(volume >= 5 && !isspaceturf(T))
new /obj/item/food/weirdcheesewedge(T)
+/datum/reagent/consumable/cheese_curds
+ name = "Cheese Curds"
+ id = "cheese_curds"
+ description = "Some mushed up cheese curds. You're not quite sure why you did this."
+ reagent_state = SOLID
+ color = "#FFFF00"
+ taste_description = "salty cheese"
+
+/datum/reagent/consumable/yogurt
+ name = "yogurt"
+ id = "yogurt"
+ description = "Some yogurt, produced by bacterial fermentation of milk. Yum."
+ reagent_state = LIQUID
+ color = "#FFFFFF"
+ taste_description = "yogurt"
+
/datum/reagent/consumable/beans
name = "Refried beans"
id = "beans"
diff --git a/code/modules/reagents/chemistry/reagents/misc_reagents.dm b/code/modules/reagents/chemistry/reagents/misc_reagents.dm
index becb5f5bb504..223bd2f1ae7d 100644
--- a/code/modules/reagents/chemistry/reagents/misc_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/misc_reagents.dm
@@ -453,6 +453,7 @@
id = "jestosterone"
description = "Jestosterone is an odd chemical compound that induces a variety of annoying side-effects in the average person. It also causes mild intoxication, and is toxic to mimes."
color = "#ff00ff" //Fuchsia, pity we can't do rainbow here
+ process_flags = ORGANIC | SYNTHETIC
taste_description = "a funny flavour"
/datum/reagent/jestosterone/on_new()
@@ -475,14 +476,14 @@
C.AddElement(/datum/element/waddling)
C.AddComponent(/datum/component/squeak, null, null, null, null, null, TRUE, falloff_exponent = 20)
-/datum/reagent/jestosterone/on_mob_life(mob/living/carbon/M)
+/datum/reagent/jestosterone/on_mob_life(mob/living/carbon/human/M)
var/update_flags = STATUS_UPDATE_NONE
if(prob(10))
M.emote("giggle")
if(!M.mind)
return ..() | update_flags
if(M.mind.assigned_role == "Clown")
- update_flags |= M.adjustBruteLoss(-1.5 * REAGENTS_EFFECT_MULTIPLIER) //Screw those pesky clown beatings!
+ update_flags |= M.adjustBruteLoss(-1.5 * REAGENTS_EFFECT_MULTIPLIER, robotic = TRUE) //Screw those pesky clown beatings!
else
M.AdjustDizzy(20 SECONDS, 0, 100 SECONDS)
M.Druggy(30 SECONDS)
@@ -502,7 +503,10 @@
"You feel like telling a pun.")
to_chat(M, "[pick(clown_message)]")
if(M.mind.assigned_role == "Mime")
- update_flags |= M.adjustToxLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER)
+ if(M.dna.species.tox_mod <= 0) // If they can't take tox damage, make them take burn damage
+ update_flags |= M.adjustFireLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER, robotic = TRUE)
+ else
+ update_flags |= M.adjustToxLoss(1.5 * REAGENTS_EFFECT_MULTIPLIER)
return ..() | update_flags
/datum/reagent/jestosterone/on_mob_delete(mob/living/M)
@@ -510,8 +514,8 @@
if(M.mind?.assigned_role != "Clown")
REMOVE_TRAIT(M, TRAIT_COMIC_SANS, id)
M.RemoveElement(/datum/element/waddling)
- qdel(M.GetComponent(/datum/component/squeak))
+ M.DeleteComponent(/datum/component/squeak)
/datum/reagent/royal_bee_jelly
name = "Royal bee jelly"
diff --git a/code/modules/reagents/chemistry/reagents/toxins.dm b/code/modules/reagents/chemistry/reagents/toxins.dm
index 4ea9e6c141e6..7dd272207e8b 100644
--- a/code/modules/reagents/chemistry/reagents/toxins.dm
+++ b/code/modules/reagents/chemistry/reagents/toxins.dm
@@ -924,14 +924,11 @@
/datum/reagent/lipolicide/on_mob_life(mob/living/M)
var/update_flags = STATUS_UPDATE_NONE
if(!M.nutrition)
- switch(rand(1,3))
- if(1)
- to_chat(M, "You feel hungry...")
- if(2)
- update_flags |= M.adjustToxLoss(1, FALSE)
- to_chat(M, "Your stomach grumbles painfully!")
- else
- pass()
+ if(prob(66.66))
+ to_chat(M, "You feel hungry...")
+ else if(prob(50))
+ update_flags |= M.adjustToxLoss(1, FALSE)
+ to_chat(M, "Your stomach grumbles painfully!")
else
if(prob(60))
var/fat_to_burn = max(round(M.nutrition / 100, 1), 5)
diff --git a/code/modules/reagents/chemistry/recipes/food_reactions.dm b/code/modules/reagents/chemistry/recipes/food_reactions.dm
index 4a0ab9df0074..583f354d3338 100644
--- a/code/modules/reagents/chemistry/recipes/food_reactions.dm
+++ b/code/modules/reagents/chemistry/recipes/food_reactions.dm
@@ -77,6 +77,26 @@
for(var/i = 1, i <= created_volume, i++)
new /obj/item/food/sliceable/cheesewheel(location)
+/datum/chemical_reaction/cheese_curds
+ name = "Cheese Curds"
+ id = "cheese_curds"
+ result = null
+ required_reagents = list("milk" = 15, "vinegar" = 5, "cream" = 5)
+ result_amount = 1
+ min_temp = T0C + 80
+
+/datum/chemical_reaction/cheese_curds/on_reaction(datum/reagents/holder, created_volume)
+ var/location = get_turf(holder.my_atom)
+ for(var/i = 1, i <= created_volume, i++)
+ new /obj/item/food/cheese_curds(location)
+
+/datum/chemical_reaction/yogurt
+ name = "Yogurt"
+ id = "yogurt"
+ result = "yogurt"
+ required_reagents = list("milk" = 10, "virusfood" = 2)
+ result_amount = 10
+
/datum/chemical_reaction/syntiflesh
name = "Syntiflesh"
id = "syntiflesh"
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index 970372602636..b816473851f7 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -516,17 +516,6 @@
mode = SHUTTLE_ENDGAME
timer = 0
- open_dock()
-
-/obj/docking_port/mobile/emergency/proc/open_dock()
- pass()
-/*
- for(var/obj/machinery/door/poddoor/shuttledock/D in airlocks)
- var/turf/T = get_step(D, D.checkdir)
- if(!istype(T,/turf/space))
- spawn(0)
- D.open()
-*/ //Leaving this here incase someone decides to port -tg-'s escape shuttle stuff:
/obj/docking_port/mobile/emergency/proc/random_docking_go()
var/cycles = 1000
diff --git a/code/modules/surgery/bio_chip_removal.dm b/code/modules/surgery/bio_chip_removal.dm
index f7c8d88b18bf..5b324bbb714a 100644
--- a/code/modules/surgery/bio_chip_removal.dm
+++ b/code/modules/surgery/bio_chip_removal.dm
@@ -29,6 +29,7 @@
/datum/surgery_step/extract_bio_chip
name = "extract bio-chip"
allowed_tools = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 65)
+ preop_sound = 'sound/surgery/hemostat1.ogg'
time = 6.4 SECONDS
repeatable = TRUE
var/obj/item/bio_chip/I = null
diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm
index acfcbfcdedd4..d14ddd44c339 100644
--- a/code/modules/surgery/bones.dm
+++ b/code/modules/surgery/bones.dm
@@ -51,6 +51,13 @@
TOOL_BONEGEL = 100,
TOOL_SCREWDRIVER = 90
)
+
+ preop_sound = list(
+ TOOL_BONEGEL = 'sound/surgery/organ1.ogg',
+ /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
+ /obj/item/screwdriver = 'sound/items/screwdriver.ogg'
+ )
+
can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS
@@ -93,6 +100,7 @@
TOOL_WRENCH = 90
)
+ preop_sound = 'sound/surgery/hemostat1.ogg'
time = 3.2 SECONDS
/datum/surgery_step/set_bone/begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
@@ -164,6 +172,13 @@
TOOL_BONEGEL = 100,
TOOL_SCREWDRIVER = 90
)
+
+ preop_sound = list(
+ TOOL_BONEGEL = 'sound/surgery/organ1.ogg',
+ /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
+ /obj/item/screwdriver = 'sound/items/screwdriver.ogg'
+ )
+
can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS
diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm
index 8baebebdff15..37a0ee5b56f5 100644
--- a/code/modules/surgery/cavity_implant.dm
+++ b/code/modules/surgery/cavity_implant.dm
@@ -151,6 +151,12 @@
/obj/item/stack/rods = 60
)
+ preop_sound = list(
+ TOOL_DRILL = 'sound/items/drill_hit.ogg',
+ /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
+ /obj/item/pen = 'sound/surgery/organ2.ogg',
+ /obj/item/stack/rods = 'sound/surgery/organ2.ogg'
+ )
time = 5.4 SECONDS
/datum/surgery_step/cavity/make_space/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -183,6 +189,9 @@
TOOL_WELDER = 30
)
+ preop_sound = 'sound/surgery/cautery1.ogg'
+ success_sound = 'sound/surgery/cautery2.ogg'
+ failure_sound = 'sound/items/welder.ogg'
time = 2.4 SECONDS
/datum/surgery_step/cavity/close_space/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm
index 65a0ca70a6f5..a57178f97349 100644
--- a/code/modules/surgery/core_removal.dm
+++ b/code/modules/surgery/core_removal.dm
@@ -19,6 +19,10 @@
/obj/item/kitchen/knife = 65,
/obj/item/shard = 45
)
+
+ preop_sound = 'sound/surgery/scalpel1.ogg'
+ success_sound = 'sound/surgery/scalpel2.ogg'
+ failure_sound = 'sound/surgery/organ2.ogg'
time = 1.6 SECONDS
/datum/surgery_step/slime/cut_flesh/begin_step(mob/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool)
@@ -38,6 +42,8 @@
/datum/surgery_step/slime/extract_core
name = "extract core"
allowed_tools = list(TOOL_HEMOSTAT = 100, TOOL_CROWBAR = 100)
+ preop_sound = 'sound/surgery/organ1.ogg'
+ success_sound = 'sound/surgery/organ2.ogg'
time = 1.6 SECONDS
/datum/surgery_step/slime/extract_core/begin_step(mob/user, mob/living/simple_animal/slime/target, target_zone, obj/item/tool)
diff --git a/code/modules/surgery/encased.dm b/code/modules/surgery/encased.dm
index 13bed7936b04..871f91d8038a 100644
--- a/code/modules/surgery/encased.dm
+++ b/code/modules/surgery/encased.dm
@@ -16,6 +16,15 @@
TOOL_WIRECUTTER = 35 // Silly goose!
)
+ preop_sound = list(
+ TOOL_SAW = 'sound/surgery/saw.ogg',
+ /obj/item/hatchet = 'sound/surgery/scalpel1.ogg',
+ /obj/item/chainsaw = 'sound/weapons/chainsaw.ogg',
+ /obj/item/butcher_chainsaw = 'sound/weapons/chainsaw.ogg',
+ TOOL_WIRECUTTER = 'sound/surgery/scalpel1.ogg'
+ )
+
+ success_sound = 'sound/surgery/organ2.ogg'
time = 5.4 SECONDS
/datum/surgery_step/open_encased/saw/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -64,6 +73,8 @@
TOOL_CROWBAR = 90
)
+ preop_sound = 'sound/surgery/retractor1.ogg'
+ success_sound = 'sound/surgery/retractor2.ogg'
time = 2.4 SECONDS
/datum/surgery_step/open_encased/retract/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -113,6 +124,8 @@
TOOL_CROWBAR = 90
)
+ preop_sound = 'sound/surgery/retractor1.ogg'
+ success_sound = 'sound/surgery/retractor2.ogg'
time = 2.4 SECONDS
/datum/surgery_step/open_encased/close/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -158,6 +171,12 @@
TOOL_SCREWDRIVER = 90
)
+ preop_sound = list(
+ TOOL_BONEGEL = 'sound/surgery/organ1.ogg',
+ /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
+ /obj/item/screwdriver = 'sound/items/screwdriver.ogg'
+ )
+
time = 2.4 SECONDS
/datum/surgery_step/open_encased/mend/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm
index dc6c98957377..b0fa71e9de33 100644
--- a/code/modules/surgery/generic.dm
+++ b/code/modules/surgery/generic.dm
@@ -23,6 +23,9 @@
/obj/item/butcher_chainsaw = 1
)
+ preop_sound = 'sound/surgery/scalpel1.ogg'
+ success_sound = 'sound/surgery/scalpel2.ogg'
+ failure_sound = 'sound/surgery/organ2.ogg'
time = 1.6 SECONDS
/datum/surgery_step/generic/cut_open/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -67,6 +70,7 @@
/obj/item/assembly/mousetrap = 25
)
+ preop_sound = 'sound/surgery/hemostat1.ogg'
time = 2.4 SECONDS
@@ -111,6 +115,9 @@
/obj/item/kitchen/utensil/fork = 60
)
+ preop_sound = 'sound/surgery/retractor1.ogg'
+ success_sound = 'sound/surgery/retractor2.ogg'
+ failure_sound = 'sound/surgery/organ2.ogg'
time = 2.4 SECONDS
/datum/surgery_step/generic/retract_skin/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -168,6 +175,9 @@
/obj/item/flamethrower = 1 // You make do with what ya got...
)
+ preop_sound = 'sound/surgery/cautery1.ogg'
+ success_sound = 'sound/surgery/cautery2.ogg'
+ failure_sound = 'sound/items/welder.ogg'
time = 2.4 SECONDS
/datum/surgery_step/generic/cauterize/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -226,6 +236,15 @@
/obj/item/mecha_parts/mecha_equipment/drill = 60,
/obj/item/screwdriver = 20
)
+
+ preop_sound = list(
+ TOOL_DRILL = 'sound/items/drill_hit.ogg',
+ /obj/item/screwdriver/power = 'sound/items/drill_hit.ogg',
+ /obj/item/pickaxe/drill = 'sound/weapons/drill.ogg',
+ /obj/item/mecha_parts/mecha_equipment/drill = 'sound/weapons/drill.ogg',
+ /obj/item/screwdriver = 'sound/items/screwdriver.ogg'
+ )
+
time = 3 SECONDS
/datum/surgery_step/generic/drill/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -264,6 +283,13 @@
/obj/item/melee/energy = 75
)
+ preop_sound = list(
+ TOOL_SAW = 'sound/surgery/saw.ogg',
+ /obj/item/hatchet = 'sound/surgery/scalpel1.ogg',
+ /obj/item/melee/arm_blade = 'sound/surgery/scalpel1.ogg'
+ )
+
+ success_sound = 'sound/surgery/organ2.ogg'
time = 10 SECONDS
/datum/surgery_step/generic/amputate/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/organs/organ_extractor.dm b/code/modules/surgery/organs/organ_extractor.dm
index efa581b8bc3e..16ee7fe6f11b 100644
--- a/code/modules/surgery/organs/organ_extractor.dm
+++ b/code/modules/surgery/organs/organ_extractor.dm
@@ -129,7 +129,7 @@
C.apply_damage(5, BRUTE, drilled_organ)
playsound(get_turf(C), 'sound/weapons/circsawhit.ogg', 50, TRUE)
- if(!do_after_once(C, (user_is_target ? self_insert_time : insert_time), target = C))
+ if(!do_after_once(user, (user_is_target ? self_insert_time : insert_time), target = C))
to_chat(user, "ERROR: Process interrupted!")
in_use = FALSE
return
diff --git a/code/modules/surgery/organs_internal.dm b/code/modules/surgery/organs_internal.dm
index ba71f0598a04..80fcef082bb8 100644
--- a/code/modules/surgery/organs_internal.dm
+++ b/code/modules/surgery/organs_internal.dm
@@ -182,6 +182,8 @@
/obj/item/stack/nanopaste = 100
)
+ preop_sound = 'sound/surgery/organ1.ogg'
+
/datum/surgery_step/internal/manipulate_organs/mend/proc/get_tool_name(obj/item/tool)
var/tool_name = "[tool]"
if(istype(tool, /obj/item/stack/medical/bruise_pack))
@@ -296,6 +298,8 @@
/obj/item/kitchen/utensil/fork = 70
)
+ preop_sound = 'sound/surgery/organ1.ogg'
+ success_sound = 'sound/surgery/organ2.ogg'
var/obj/item/organ/internal/extracting = null
/datum/surgery_step/internal/manipulate_organs/extract/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -390,6 +394,9 @@
/obj/item/food/organ = 0 // there for the flavor text
)
+ preop_sound = 'sound/surgery/organ2.ogg'
+ success_sound = 'sound/surgery/organ1.ogg'
+
/datum/surgery_step/internal/manipulate_organs/implant/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(istype(tool, /obj/item/food/organ))
to_chat(user, "[tool] was bitten by someone! It's too damaged to use!")
@@ -643,6 +650,9 @@
TOOL_CROWBAR = 90
)
+ preop_sound = 'sound/surgery/retractor1.ogg'
+ success_sound = 'sound/surgery/retractor2.ogg'
+
/datum/surgery_step/internal/manipulate_organs/finish/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/mob/living/carbon/human/H = target
var/obj/item/organ/external/affected = target.get_organ(target_zone)
@@ -707,6 +717,15 @@
TOOL_WIRECUTTER = 35
)
+ preop_sound = list(
+ TOOL_SAW = 'sound/surgery/saw.ogg',
+ /obj/item/hatchet = 'sound/surgery/scalpel1.ogg',
+ /obj/item/chainsaw = 'sound/weapons/chainsaw.ogg',
+ /obj/item/butcher_chainsaw = 'sound/weapons/chainsaw.ogg',
+ TOOL_WIRECUTTER = 'sound/surgery/scalpel1.ogg'
+ )
+
+ success_sound = 'sound/surgery/organ2.ogg'
time = 5.4 SECONDS
@@ -750,6 +769,9 @@
/obj/item/butcher_chainsaw = 1
)
+ preop_sound = 'sound/surgery/scalpel1.ogg'
+ success_sound = 'sound/surgery/scalpel2.ogg'
+ failure_sound = 'sound/surgery/organ2.ogg'
time = 1.6 SECONDS
/datum/surgery_step/cut_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -787,6 +809,8 @@
/obj/item/kitchen/utensil/fork = 60
)
+ preop_sound = 'sound/surgery/retractor1.ogg'
+ success_sound = 'sound/surgery/retractor2.ogg'
time = 2.4 SECONDS
/datum/surgery_step/retract_carapace/begin_step(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -838,6 +862,9 @@
/obj/item/flamethrower = 1
)
+ preop_sound = 'sound/surgery/cautery1.ogg'
+ success_sound = 'sound/surgery/cautery2.ogg'
+ failure_sound = 'sound/items/welder.ogg'
time = 2.4 SECONDS
/datum/surgery_step/generic/seal_carapace/proc/zone_name(target_zone)
diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm
index 26a174caa348..09ba772bae4c 100644
--- a/code/modules/surgery/other.dm
+++ b/code/modules/surgery/other.dm
@@ -81,6 +81,7 @@
can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS
+ preop_sound = 'sound/surgery/organ1.ogg'
time = 3.2 SECONDS
/datum/surgery_step/fix_vein/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -133,6 +134,7 @@
can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS
+ preop_sound = 'sound/surgery/organ1.ogg'
time = 3.2 SECONDS
/datum/surgery_step/treat_burns/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
@@ -190,6 +192,9 @@
/obj/item/shard = 60
)
+ preop_sound = 'sound/surgery/scalpel1.ogg'
+ success_sound = 'sound/surgery/retractor2.ogg'
+ failure_sound = 'sound/surgery/organ1.ogg'
can_infect = TRUE
blood_level = SURGERY_BLOODSPREAD_HANDS
diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm
index 3a2050d8664e..a4941cb7bdaf 100644
--- a/code/modules/surgery/plastic_surgery.dm
+++ b/code/modules/surgery/plastic_surgery.dm
@@ -15,6 +15,10 @@
allowed_tools = list(TOOL_SCALPEL = 100, /obj/item/kitchen/knife = 50, /obj/item/wirecutters = 35)
time = 6.4 SECONDS
+ preop_sound = 'sound/surgery/scalpel1.ogg'
+ success_sound = 'sound/surgery/scalpel2.ogg'
+ failure_sound = 'sound/surgery/organ2.ogg'
+
/datum/surgery_step/reshape_face/begin_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
user.visible_message(
"[user] begins to alter [target]'s appearance.",
diff --git a/code/modules/surgery/robotics.dm b/code/modules/surgery/robotics.dm
index 5c7f42e33cd0..cd4a2d383d77 100644
--- a/code/modules/surgery/robotics.dm
+++ b/code/modules/surgery/robotics.dm
@@ -399,6 +399,7 @@
)
I.damage = 0
I.surgeryize()
+ target.update_stat("internal organs repaired")
return ..()
/datum/surgery_step/robotics/manipulate_robotic_organs/mend/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery)
diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm
index 3e5bfdf98eac..4ea5674385da 100644
--- a/code/modules/surgery/surgery.dm
+++ b/code/modules/surgery/surgery.dm
@@ -197,6 +197,12 @@
var/silicons_ignore_prob = FALSE
/// How many times this step has been automatically repeated.
var/times_repeated = 0
+ /// Sound played when the step is started. Lists or single value can be used for this var as well as tool defines
+ var/preop_sound
+ /// Sound played if the step succeeded. Single value only
+ var/success_sound
+ /// Sound played if the step fails. Single value only
+ var/failure_sound
// evil infection stuff that will make everyone hate me
@@ -331,6 +337,8 @@
surgery.step_in_progress = FALSE
return SURGERY_INITIATE_SUCCESS
+ play_preop_sound(user, target, target_zone, tool, surgery)
+
if(tool)
speed_mod = tool.toolspeed
@@ -386,8 +394,10 @@
surgery.step_in_progress = FALSE
if(advance)
+ play_success_sound(user, target, target_zone, tool, surgery)
return SURGERY_INITIATE_SUCCESS
else
+ play_failure_sound(user, target, target_zone, tool, surgery)
return SURGERY_INITIATE_FAILURE
/**
@@ -553,3 +563,26 @@
for(var/reagent in chems_needed)
if(target.reagents.has_reagent(reagent))
return TRUE
+
+/datum/surgery_step/proc/play_preop_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
+ if(!preop_sound || (islist(preop_sound) && !length(preop_sound)) || ismachineperson(target))
+ return
+ var/sound_file_use
+ if(islist(preop_sound))
+ for(var/typepath in preop_sound)
+ if((ispath(typepath) && istype(tool, typepath)) || ((typepath in GLOB.surgery_tool_behaviors) && istype(tool) && tool.tool_behaviour == typepath))
+ sound_file_use = preop_sound[typepath]
+ break
+ else
+ sound_file_use = preop_sound
+ playsound(get_turf(target), sound_file_use, 75, TRUE, falloff_exponent = 12, falloff_distance = 1, channel = CHANNEL_SURGERY_SOUNDS)
+
+/datum/surgery_step/proc/play_success_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
+ if(!success_sound || ismachineperson(target))
+ return
+ playsound(get_turf(target), success_sound, 75, TRUE, falloff_exponent = 12, falloff_distance = 1, channel = CHANNEL_SURGERY_SOUNDS)
+
+/datum/surgery_step/proc/play_failure_sound(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
+ if(!failure_sound || ismachineperson(target))
+ return
+ playsound(get_turf(target), failure_sound, 75, TRUE, falloff_exponent = 12, falloff_distance = 1, channel = CHANNEL_SURGERY_SOUNDS)
diff --git a/icons/_nanomaps/Cyberiad_nanomap_z1.png b/icons/_nanomaps/Cyberiad_nanomap_z1.png
index 0dfa15c98903..72984d0eff04 100644
Binary files a/icons/_nanomaps/Cyberiad_nanomap_z1.png and b/icons/_nanomaps/Cyberiad_nanomap_z1.png differ
diff --git a/icons/_nanomaps/Delta_nanomap_z1.png b/icons/_nanomaps/Delta_nanomap_z1.png
index 4a7639246ba0..b7089bf344e0 100644
Binary files a/icons/_nanomaps/Delta_nanomap_z1.png and b/icons/_nanomaps/Delta_nanomap_z1.png differ
diff --git a/icons/effects/exposures.dmi b/icons/effects/exposures.dmi
index 13f976ceb9d6..1560835049e5 100644
Binary files a/icons/effects/exposures.dmi and b/icons/effects/exposures.dmi differ
diff --git a/icons/effects/random_spawners.dmi b/icons/effects/random_spawners.dmi
index fbf0d77c86e6..993e5aa9a249 100644
Binary files a/icons/effects/random_spawners.dmi and b/icons/effects/random_spawners.dmi differ
diff --git a/icons/effects/spawner_icons.dmi b/icons/effects/spawner_icons.dmi
index 1b9730e53796..0417843bf621 100644
Binary files a/icons/effects/spawner_icons.dmi and b/icons/effects/spawner_icons.dmi differ
diff --git a/icons/obj/food/bakedgoods.dmi b/icons/obj/food/bakedgoods.dmi
index 967d54ae9689..4f738921fa5f 100644
Binary files a/icons/obj/food/bakedgoods.dmi and b/icons/obj/food/bakedgoods.dmi differ
diff --git a/icons/obj/food/breakfast.dmi b/icons/obj/food/breakfast.dmi
index 0d8cbc9bcbd3..ae5aff5037e6 100644
Binary files a/icons/obj/food/breakfast.dmi and b/icons/obj/food/breakfast.dmi differ
diff --git a/icons/obj/food/candy.dmi b/icons/obj/food/candy.dmi
index a58abc2e9d04..dd7acd3200bc 100644
Binary files a/icons/obj/food/candy.dmi and b/icons/obj/food/candy.dmi differ
diff --git a/icons/obj/food/containers.dmi b/icons/obj/food/containers.dmi
index 224c8bfb9bf4..4ddb808bcd3f 100644
Binary files a/icons/obj/food/containers.dmi and b/icons/obj/food/containers.dmi differ
diff --git a/icons/obj/food/food.dmi b/icons/obj/food/food.dmi
index f5388ee43454..d5a6a5c1f098 100644
Binary files a/icons/obj/food/food.dmi and b/icons/obj/food/food.dmi differ
diff --git a/icons/obj/food/soupsalad.dmi b/icons/obj/food/soupsalad.dmi
index c92df9de7682..5a16fcbaee27 100644
Binary files a/icons/obj/food/soupsalad.dmi and b/icons/obj/food/soupsalad.dmi differ
diff --git a/icons/obj/hydroponics/growing_fruits.dmi b/icons/obj/hydroponics/growing_fruits.dmi
index 8d77be19157d..f01bec11fce3 100644
Binary files a/icons/obj/hydroponics/growing_fruits.dmi and b/icons/obj/hydroponics/growing_fruits.dmi differ
diff --git a/icons/obj/hydroponics/harvest.dmi b/icons/obj/hydroponics/harvest.dmi
index 0a0965085415..ded1705672d1 100644
Binary files a/icons/obj/hydroponics/harvest.dmi and b/icons/obj/hydroponics/harvest.dmi differ
diff --git a/icons/obj/hydroponics/seeds.dmi b/icons/obj/hydroponics/seeds.dmi
index a303e76a4db6..db4b781941c9 100644
Binary files a/icons/obj/hydroponics/seeds.dmi and b/icons/obj/hydroponics/seeds.dmi differ
diff --git a/icons/obj/lamps.dmi b/icons/obj/lamps.dmi
index e3f9fabb8454..29d8e21bc401 100644
Binary files a/icons/obj/lamps.dmi and b/icons/obj/lamps.dmi differ
diff --git a/icons/obj/lighting.dmi b/icons/obj/lighting.dmi
index a934d0a1df01..6d887c8114d5 100644
Binary files a/icons/obj/lighting.dmi and b/icons/obj/lighting.dmi differ
diff --git a/paradise.dme b/paradise.dme
index 561e44eda3a3..7fef282bc28e 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1990,6 +1990,7 @@
#include "code\modules\hydroponics\grown\onion.dm"
#include "code\modules\hydroponics\grown\peanut.dm"
#include "code\modules\hydroponics\grown\pineapple.dm"
+#include "code\modules\hydroponics\grown\plum.dm"
#include "code\modules\hydroponics\grown\potato.dm"
#include "code\modules\hydroponics\grown\pumpkin.dm"
#include "code\modules\hydroponics\grown\random_seeds.dm"
@@ -2021,6 +2022,7 @@
#include "code\modules\instruments\songs\_song_ui.dm"
#include "code\modules\instruments\songs\play_legacy.dm"
#include "code\modules\instruments\songs\play_synthesized.dm"
+#include "code\modules\lavaland\caves_theme.dm"
#include "code\modules\lavaland\lavaland_theme.dm"
#include "code\modules\library\book.dm"
#include "code\modules\library\library_admin.dm"
diff --git a/sound/surgery/cautery1.ogg b/sound/surgery/cautery1.ogg
new file mode 100644
index 000000000000..ac15a5812666
Binary files /dev/null and b/sound/surgery/cautery1.ogg differ
diff --git a/sound/surgery/cautery2.ogg b/sound/surgery/cautery2.ogg
new file mode 100644
index 000000000000..334c98f6cde4
Binary files /dev/null and b/sound/surgery/cautery2.ogg differ
diff --git a/sound/surgery/hemostat1.ogg b/sound/surgery/hemostat1.ogg
new file mode 100644
index 000000000000..d68c82620d2a
Binary files /dev/null and b/sound/surgery/hemostat1.ogg differ
diff --git a/sound/surgery/organ1.ogg b/sound/surgery/organ1.ogg
new file mode 100644
index 000000000000..d6cdd6271fe3
Binary files /dev/null and b/sound/surgery/organ1.ogg differ
diff --git a/sound/surgery/organ2.ogg b/sound/surgery/organ2.ogg
new file mode 100644
index 000000000000..9199c7d1a2db
Binary files /dev/null and b/sound/surgery/organ2.ogg differ
diff --git a/sound/surgery/retractor1.ogg b/sound/surgery/retractor1.ogg
new file mode 100644
index 000000000000..de7c31199e3c
Binary files /dev/null and b/sound/surgery/retractor1.ogg differ
diff --git a/sound/surgery/retractor2.ogg b/sound/surgery/retractor2.ogg
new file mode 100644
index 000000000000..620fafe035d8
Binary files /dev/null and b/sound/surgery/retractor2.ogg differ
diff --git a/sound/surgery/saw.ogg b/sound/surgery/saw.ogg
new file mode 100644
index 000000000000..8e7a47f0fa06
Binary files /dev/null and b/sound/surgery/saw.ogg differ
diff --git a/sound/surgery/scalpel1.ogg b/sound/surgery/scalpel1.ogg
new file mode 100644
index 000000000000..6c0fe5dad9fe
Binary files /dev/null and b/sound/surgery/scalpel1.ogg differ
diff --git a/sound/surgery/scalpel2.ogg b/sound/surgery/scalpel2.ogg
new file mode 100644
index 000000000000..497672239393
Binary files /dev/null and b/sound/surgery/scalpel2.ogg differ
diff --git a/tools/UpdatePaths/Scripts/26866_random_barrier_spawners.txt b/tools/UpdatePaths/Scripts/26866_random_barrier_spawners.txt
new file mode 100644
index 000000000000..7bbe178be303
--- /dev/null
+++ b/tools/UpdatePaths/Scripts/26866_random_barrier_spawners.txt
@@ -0,0 +1,5 @@
+/obj/effect/spawner/random_barrier/wall_probably : /obj/effect/spawner/random/barrier/wall_probably
+/obj/effect/spawner/random_barrier/obstruction : /obj/effect/spawner/random/barrier/obstruction
+/obj/effect/spawner/random_barrier/possibly_welded_airlock : /obj/effect/spawner/random/barrier/possibly_welded_airlock
+/obj/effect/spawner/random_spawners/grille_often : /obj/effect/spawner/random/barrier/grille_often
+/obj/effect/spawner/random_spawners/grille_maybe : /obj/effect/spawner/random/barrier/grille_maybe