diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm
index 7d272b4c59..bbe78d044d 100644
--- a/_maps/map_files/BoxStation/BoxStation.dmm
+++ b/_maps/map_files/BoxStation/BoxStation.dmm
@@ -56197,6 +56197,11 @@
/obj/effect/landmark/blobstart,
/turf/open/floor/plating,
/area/maintenance/starboard/fore)
+"jga" = (
+/obj/machinery/vending/snack/random,
+/obj/machinery/atmospherics/pipe/simple/supply/hidden,
+/turf/open/floor/plasteel/dark,
+/area/hallway/primary/central)
"jgm" = (
/obj/structure/disposalpipe/segment{
dir = 10
@@ -89485,7 +89490,7 @@ aDt
aEO
aGc
vOU
-aKG
+jga
dml
dml
oNz
diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm
index 460065d357..c1f17e6c1c 100644
--- a/_maps/map_files/Mining/Lavaland.dmm
+++ b/_maps/map_files/Mining/Lavaland.dmm
@@ -197,11 +197,10 @@
/turf/open/floor/plasteel,
/area/mine/laborcamp/security)
"cp" = (
-/obj/structure/stone_tile,
-/obj/structure/stone_tile{
- dir = 8
+/obj/structure/stone_tile/block{
+ dir = 1
},
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/turf/closed/indestructible/riveted/boss,
/area/ruin/unpowered/ash_walkers)
"cq" = (
/obj/structure/cable{
@@ -261,13 +260,10 @@
/turf/open/floor/plasteel,
/area/mine/laborcamp)
"dA" = (
-/obj/structure/stone_tile/block{
- dir = 4
- },
/obj/structure/stone_tile/block/cracked{
- dir = 8
+ dir = 1
},
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
+/turf/closed/indestructible/riveted/boss,
/area/ruin/unpowered/ash_walkers)
"dD" = (
/obj/structure/stone_tile/surrounding_tile/cracked{
@@ -278,7 +274,7 @@
"dF" = (
/obj/structure/stone_tile/block/cracked,
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"dG" = (
/obj/structure/cable{
icon_state = "2-8"
@@ -314,19 +310,19 @@
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"eq" = (
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 8
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"eP" = (
/obj/structure/stone_tile/block/cracked{
dir = 4
},
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"eQ" = (
/obj/structure/closet/crate/radiation,
/obj/item/flashlight/lantern,
@@ -379,7 +375,7 @@
/obj/structure/stone_tile/block,
/obj/item/twohanded/bonespear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"fC" = (
/turf/closed/wall/r_wall,
/area/mine/laborcamp/security)
@@ -389,7 +385,7 @@
},
/obj/item/twohanded/bonespear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"fQ" = (
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors/unexplored/danger)
@@ -487,7 +483,7 @@
dir = 4
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"gy" = (
/obj/structure/stone_tile/cracked,
/obj/structure/stone_tile{
@@ -526,12 +522,6 @@
},
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
-"gF" = (
-/obj/structure/stone_tile/block{
- dir = 8
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"gG" = (
/obj/structure/stone_tile{
dir = 1
@@ -571,7 +561,7 @@
"hd" = (
/obj/structure/mineral_door/sandstone,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"hg" = (
/obj/structure/stone_tile/surrounding,
/obj/structure/stone_tile/center/cracked,
@@ -589,7 +579,7 @@
/obj/structure/stone_tile/center,
/obj/item/hatchet,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"hs" = (
/obj/structure/stone_tile/block{
dir = 1
@@ -608,7 +598,7 @@
/obj/effect/mob_spawn/human/corpse/damaged,
/obj/effect/decal/cleanable/blood,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"hG" = (
/obj/item/radio/intercom{
desc = "Talk through this. It looks like it has been modified to not broadcast.";
@@ -660,7 +650,7 @@
dir = 4
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"id" = (
/obj/structure/stone_tile{
dir = 4
@@ -674,10 +664,6 @@
},
/turf/open/indestructible/boss,
/area/lavaland/surface/outdoors)
-"io" = (
-/obj/structure/stone_tile/slab/cracked,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"iq" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -996,12 +982,6 @@
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/lavaland/surface/outdoors)
-"kk" = (
-/obj/structure/stone_tile{
- dir = 8
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"kl" = (
/obj/structure/fluff/drake_statue/falling,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
@@ -1067,9 +1047,6 @@
/obj/structure/stone_tile/center/cracked,
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors)
-"kI" = (
-/turf/closed/mineral/random/volcanic,
-/area/ruin/unpowered/ash_walkers)
"kJ" = (
/obj/structure/stone_tile/surrounding_tile{
dir = 4
@@ -1105,7 +1082,7 @@
},
/obj/structure/stone_tile/center,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"kR" = (
/obj/structure/stone_tile/slab/cracked,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
@@ -1118,7 +1095,7 @@
dir = 8
},
/turf/closed/indestructible/riveted/boss,
-/area/lavaland/surface/outdoors)
+/area/ruin/unpowered/ash_walkers)
"le" = (
/obj/structure/stone_tile,
/obj/structure/stone_tile{
@@ -1737,7 +1714,7 @@
dir = 8
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"nC" = (
/obj/machinery/cryopod{
dir = 4
@@ -1747,9 +1724,6 @@
"nE" = (
/turf/closed/mineral/random/volcanic,
/area/lavaland/surface/outdoors/explored)
-"nI" = (
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"nJ" = (
/turf/closed/wall/mineral/wood,
/area/ruin/unpowered/ash_walkers)
@@ -1785,14 +1759,14 @@
"ot" = (
/obj/structure/stone_tile/surrounding_tile,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"oB" = (
/obj/item/stack/sheet/mineral/wood,
/obj/structure/stone_tile{
dir = 4
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"oL" = (
/obj/effect/turf_decal/tile/red{
dir = 8
@@ -1824,7 +1798,7 @@
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"pf" = (
/obj/structure/cable{
icon_state = "1-4"
@@ -1851,7 +1825,7 @@
dir = 8
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"pF" = (
/obj/structure/stone_tile/surrounding_tile{
dir = 8
@@ -1864,13 +1838,13 @@
dir = 4
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"pG" = (
/obj/structure/stone_tile/surrounding_tile{
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"pH" = (
/obj/structure/stone_tile/surrounding_tile/cracked{
dir = 1
@@ -1924,7 +1898,7 @@
/obj/item/flashlight/lantern,
/obj/structure/stone_tile/center,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"qN" = (
/obj/structure/stone_tile/block,
/obj/structure/stone_tile{
@@ -1934,11 +1908,11 @@
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"qS" = (
/obj/structure/stone_tile/slab,
/turf/closed/indestructible/riveted/boss,
-/area/lavaland/surface/outdoors)
+/area/ruin/unpowered/ash_walkers)
"rb" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
@@ -1963,7 +1937,7 @@
/obj/structure/stone_tile/surrounding_tile/cracked,
/obj/structure/ore_box,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"rQ" = (
/obj/structure/stone_tile/block{
dir = 1
@@ -2004,7 +1978,7 @@
dir = 8
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"sl" = (
/obj/structure/stone_tile/block{
dir = 1
@@ -2013,10 +1987,6 @@
dir = 8
},
/turf/closed/indestructible/riveted/boss,
-/area/lavaland/surface/outdoors)
-"sq" = (
-/obj/structure/stone_tile,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
"sx" = (
/obj/item/stack/sheet/mineral/coal,
@@ -2034,7 +2004,7 @@
/obj/item/stack/sheet/mineral/coal,
/obj/item/stack/sheet/mineral/coal,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"sN" = (
/obj/machinery/portable_atmospherics/canister/oxygen,
/obj/machinery/light/small{
@@ -2042,10 +2012,6 @@
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
-"sR" = (
-/obj/structure/stone_tile/block/cracked,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"tp" = (
/obj/machinery/light/small{
dir = 8
@@ -2080,10 +2046,6 @@
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
-"ub" = (
-/obj/structure/stone_tile/slab,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"ug" = (
/obj/structure/table,
/obj/item/storage/firstaid/regular,
@@ -2192,7 +2154,7 @@
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"wm" = (
/obj/item/seeds/glowshroom{
yield = 5
@@ -2256,20 +2218,13 @@
/obj/item/pickaxe,
/obj/item/pickaxe,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"xs" = (
/obj/structure/stone_tile/block/cracked{
dir = 8
},
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
-"xJ" = (
-/obj/structure/stone_tile/block/cracked{
- dir = 1
- },
-/obj/structure/stone_tile/block,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"xR" = (
/obj/machinery/mineral/processing_unit_console,
/turf/closed/wall,
@@ -2280,7 +2235,7 @@
},
/obj/item/pickaxe,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"yd" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
/obj/structure/cable,
@@ -2304,11 +2259,7 @@
},
/obj/structure/stone_tile/center,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
-"yv" = (
-/obj/structure/stone_tile/block,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"yw" = (
/obj/machinery/conveyor_switch/oneway{
id = "gulag"
@@ -2340,7 +2291,7 @@
dir = 8
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"zx" = (
/obj/structure/table,
/obj/item/storage/fancy/donut_box,
@@ -2370,15 +2321,6 @@
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
-"Ad" = (
-/obj/structure/stone_tile{
- dir = 4
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
-"Ag" = (
-/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"An" = (
/obj/structure/stone_tile/slab,
/obj/structure/table/wood,
@@ -2395,7 +2337,7 @@
},
/obj/item/twohanded/bonespear,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"AP" = (
/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
@@ -2423,7 +2365,7 @@
"AU" = (
/obj/structure/stone_tile,
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"AX" = (
/turf/open/lava/smooth/lava_land_surface,
/area/lavaland/surface/outdoors/explored)
@@ -2441,12 +2383,6 @@
/obj/item/flashlight/lantern,
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
-"Bf" = (
-/obj/structure/stone_tile/block/cracked{
- dir = 1
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"Bg" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3{
dir = 9
@@ -2471,7 +2407,7 @@
/obj/structure/stone_tile/slab,
/obj/effect/decal/cleanable/blood,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Bs" = (
/obj/structure/stone_tile/cracked{
dir = 8
@@ -2494,7 +2430,7 @@
"BF" = (
/obj/structure/flora/rock/jungle,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"BG" = (
/obj/structure/stone_tile/block{
dir = 4
@@ -2516,7 +2452,7 @@
},
/obj/structure/stone_tile/center/cracked,
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"BP" = (
/obj/structure/stone_tile/block/cracked{
dir = 4
@@ -2542,7 +2478,7 @@
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Cy" = (
/obj/structure/chair/office{
dir = 1
@@ -2573,17 +2509,11 @@
},
/turf/closed/indestructible/riveted/boss,
/area/lavaland/surface/outdoors)
-"Ds" = (
-/obj/structure/stone_tile/cracked{
- dir = 8
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"Dx" = (
/obj/structure/bonfire/dense,
/obj/structure/stone_tile/center,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Dz" = (
/obj/structure/stone_tile/block/cracked{
dir = 8
@@ -2600,7 +2530,7 @@
},
/obj/item/book/granter/crafting_recipe/bone_bow,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Ef" = (
/obj/structure/stone_tile/block/cracked,
/turf/open/lava/smooth{
@@ -2612,7 +2542,7 @@
name = "old rusty grill"
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"ED" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 5
@@ -2632,15 +2562,6 @@
/obj/structure/stone_tile/surrounding/cracked,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
-"EV" = (
-/obj/structure/stone_tile/cracked{
- dir = 4
- },
-/obj/structure/stone_tile/cracked{
- dir = 8
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"Fn" = (
/obj/structure/stone_tile/block/cracked{
dir = 4
@@ -2683,7 +2604,7 @@
dir = 4
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"FC" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
@@ -2710,7 +2631,7 @@
"Gc" = (
/obj/structure/flora/junglebush/b,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Gw" = (
/obj/structure/stone_tile/block{
dir = 1
@@ -2723,7 +2644,7 @@
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"GC" = (
/obj/structure/stone_tile/surrounding_tile/cracked,
/obj/structure/stone_tile/center,
@@ -2777,7 +2698,7 @@
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Ik" = (
/obj/structure/table,
/obj/effect/turf_decal/tile/red,
@@ -2787,15 +2708,6 @@
},
/turf/open/floor/plasteel,
/area/mine/laborcamp/security)
-"It" = (
-/obj/structure/stone_tile/block{
- dir = 8
- },
-/obj/structure/stone_tile/block/cracked{
- dir = 4
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"IV" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
dir = 4
@@ -2842,17 +2754,6 @@
/obj/effect/decal/cleanable/blood,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
/area/ruin/unpowered/ash_walkers)
-"JR" = (
-/obj/structure/stone_tile/block,
-/obj/structure/stone_tile/block/cracked{
- dir = 1
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
-"JZ" = (
-/obj/structure/stone_tile/cracked,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"Ks" = (
/obj/machinery/shower{
dir = 8
@@ -2879,7 +2780,7 @@
dir = 4
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"KO" = (
/obj/machinery/computer/secure_data,
/obj/effect/turf_decal/tile/red{
@@ -2907,7 +2808,7 @@
dir = 1
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Ld" = (
/obj/machinery/light/small,
/obj/effect/turf_decal/loading_area{
@@ -2917,7 +2818,7 @@
/area/mine/laborcamp)
"LJ" = (
/turf/open/water,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Mh" = (
/obj/structure/stone_tile/cracked,
/obj/structure/stone_tile/block{
@@ -2942,7 +2843,7 @@
},
/obj/structure/stone_tile/cracked,
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"MX" = (
/obj/structure/stone_tile/slab/cracked,
/turf/open/indestructible/boss,
@@ -2953,13 +2854,6 @@
},
/turf/open/floor/plasteel,
/area/mine/laborcamp)
-"NN" = (
-/obj/structure/stone_tile/block/cracked,
-/obj/structure/stone_tile/block{
- dir = 1
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"NS" = (
/obj/machinery/computer/prisoner,
/obj/effect/turf_decal/tile/red{
@@ -2999,17 +2893,10 @@
/obj/structure/stone_tile/center,
/obj/effect/decal/cleanable/blood,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"OK" = (
/turf/closed/wall/r_wall,
/area/mine/laborcamp)
-"OR" = (
-/obj/structure/stone_tile/block{
- dir = 1
- },
-/obj/structure/stone_tile/block/cracked,
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"Pj" = (
/obj/structure/stone_tile/surrounding_tile/cracked,
/obj/structure/stone_tile/surrounding_tile/cracked{
@@ -3020,7 +2907,7 @@
},
/obj/structure/stone_tile/center,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"PF" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
@@ -3124,7 +3011,7 @@
"QM" = (
/obj/structure/stone_tile/surrounding_tile/cracked,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"QZ" = (
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
dir = 8
@@ -3168,7 +3055,7 @@
dir = 8
},
/turf/closed/indestructible/riveted/boss,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Rs" = (
/obj/machinery/light/small{
dir = 1
@@ -3204,13 +3091,10 @@
"Sh" = (
/obj/structure/stone_tile/block,
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Si" = (
/turf/closed/indestructible/riveted/boss,
/area/ruin/unpowered/ash_walkers)
-"Sr" = (
-/turf/closed/mineral/random/high_chance/volcanic,
-/area/ruin/unpowered/ash_walkers)
"SG" = (
/obj/structure/stone_tile/block{
dir = 4
@@ -3323,13 +3207,6 @@
},
/turf/open/floor/plasteel/white,
/area/mine/laborcamp)
-"UG" = (
-/obj/structure/stone_tile/block,
-/obj/structure/stone_tile/block{
- dir = 1
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"UV" = (
/obj/structure/stone_tile{
dir = 8
@@ -3337,7 +3214,7 @@
/obj/structure/stone_tile/cracked,
/obj/effect/decal/cleanable/blood,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Vb" = (
/obj/structure/stone_tile/block/cracked{
dir = 4
@@ -3365,7 +3242,7 @@
dir = 1
},
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Vs" = (
/obj/machinery/camera{
c_tag = "Labor Camp Central";
@@ -3388,16 +3265,7 @@
/obj/item/reagent_containers/glass/bucket/wood,
/obj/item/reagent_containers/glass/bucket/wood,
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
-"VP" = (
-/obj/structure/stone_tile/cracked{
- dir = 4
- },
-/obj/structure/stone_tile/cracked{
- dir = 1
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"VV" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable{
@@ -3423,7 +3291,7 @@
"Wj" = (
/obj/structure/stone_tile/surrounding_tile/cracked,
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Wq" = (
/obj/structure/chair{
dir = 1
@@ -3481,13 +3349,6 @@
},
/turf/open/indestructible/boss,
/area/ruin/unpowered/ash_walkers)
-"WU" = (
-/obj/structure/stone_tile,
-/obj/structure/stone_tile/cracked{
- dir = 8
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"Xe" = (
/obj/structure/stone_tile/surrounding_tile,
/obj/structure/stone_tile/center/cracked,
@@ -3498,7 +3359,7 @@
dir = 8
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Xf" = (
/obj/structure/stone_tile/block{
dir = 8
@@ -3533,7 +3394,7 @@
dir = 8
},
/turf/closed/mineral/volcanic/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"XG" = (
/obj/effect/decal/cleanable/blood,
/obj/structure/stone_tile/cracked{
@@ -3543,7 +3404,7 @@
dir = 4
},
/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"XS" = (
/obj/machinery/flasher{
id = "labor"
@@ -3555,7 +3416,7 @@
light_range = null
},
/turf/open/water,
-/area/ruin/unpowered/ash_walkers)
+/area/lavaland/surface/outdoors)
"Ym" = (
/obj/structure/cable{
icon_state = "1-2"
@@ -3582,15 +3443,6 @@
/obj/effect/turf_decal/tile/red,
/turf/open/floor/plasteel,
/area/mine/laborcamp/security)
-"YH" = (
-/obj/structure/stone_tile/block/cracked{
- dir = 4
- },
-/obj/structure/stone_tile/block{
- dir = 8
- },
-/turf/open/floor/plating/asteroid/basalt/lava_land_surface,
-/area/ruin/unpowered/ash_walkers)
"Zc" = (
/obj/structure/stone_tile{
dir = 4
@@ -55300,16 +55152,16 @@ aa
aa
aa
aa
-Si
-Si
-Si
-Si
-Si
-Si
-Si
-Ag
-Ag
-Ag
+aa
+aa
+aa
+aa
+aa
+aa
+aa
+Mx
+Mx
+Mx
Mx
Mx
Mx
@@ -55557,19 +55409,19 @@ aa
aa
aa
aa
-Si
-Sr
-Sr
-Sr
-JZ
-nI
-nI
-nI
-nI
-CG
-Ag
-Ag
-Ag
+aa
+ad
+ad
+ad
+iy
+ab
+ab
+ab
+ab
+jR
+Mx
+Mx
+Mx
Mx
aj
aj
@@ -55814,19 +55666,19 @@ aa
aa
aa
aa
-Si
-Sr
-nI
-nI
-nI
-nI
-pq
-nI
+aa
+ad
+ab
+ab
+ab
+ab
+kN
+ab
LJ
-nI
-nI
-nI
-Ag
+ab
+ab
+ab
+Mx
Mx
aj
aj
@@ -56071,19 +55923,19 @@ aa
aa
aa
aa
-Si
-yv
-nI
-nI
-nI
-nI
+aa
+it
+ab
+ab
+ab
+ab
BF
LJ
LJ
LJ
-nI
-JZ
-nI
+ab
+iy
+ab
Mx
aj
aj
@@ -56328,19 +56180,19 @@ aa
aa
aa
aa
-Si
-yv
-nI
-nI
-Ad
-nI
+aa
+it
+ab
+ab
+jx
+ab
LJ
LJ
LJ
LJ
-kI
-nI
-JZ
+ai
+ab
+iy
Mx
aj
aj
@@ -56585,19 +56437,19 @@ aa
aa
aa
aa
-Si
-nI
-nI
+aa
+ab
+ab
Ez
-nI
+ab
LJ
LJ
Yg
LJ
-kI
-kI
-nI
-nI
+ai
+ai
+ab
+ab
Mx
aj
ab
@@ -56842,19 +56694,19 @@ aa
aa
aa
aa
-Si
-nI
-nI
+aa
+ab
+ab
sx
-nI
+ab
LJ
LJ
LJ
LJ
-kI
-kI
-Sr
-Ag
+ai
+ai
+ad
+Mx
Mx
Mx
aj
@@ -57099,19 +56951,19 @@ aa
aa
aa
aa
-Si
-nI
-nI
-nI
-Wh
-nI
+aa
+ab
+ab
+ab
+jQ
+ab
LJ
LJ
Gc
-nI
-Sr
-nI
-Ag
+ab
+ad
+ab
+Mx
Mx
Mx
aj
@@ -57356,19 +57208,19 @@ aa
aa
aa
aa
-Si
-Sr
-nI
-nI
-nI
-Wh
-nI
-nI
-nI
-nI
-nI
-nI
-Ag
+aa
+ad
+ab
+ab
+ab
+jQ
+ab
+ab
+ab
+ab
+ab
+ab
+Mx
Mx
Mx
aj
@@ -57613,19 +57465,19 @@ aa
aa
aa
aa
-Si
-Ag
-Ag
-nI
-nI
-nI
-nI
-Ds
-nI
-Ds
-nI
-nI
-Ag
+aa
+Mx
+Mx
+ab
+ab
+ab
+ab
+jS
+ab
+jS
+ab
+ab
+Mx
Mx
Mx
aj
@@ -57871,18 +57723,18 @@ Mh
aa
aa
Rr
-Ag
+Mx
xs
eq
-nI
-nI
-nI
-nI
-nI
-nI
-nI
-nI
-Ag
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+ab
+Mx
Mx
aj
aj
@@ -58130,16 +57982,16 @@ Si
Si
Si
Si
-yv
-nI
-nI
-sq
-kk
+it
+ab
+ab
+jq
+ja
Gx
-nI
-nI
-nI
-Si
+ab
+ab
+ab
+aa
Mx
aj
aj
@@ -58387,16 +58239,16 @@ wm
Vb
Bs
Si
-yv
-sq
-CG
+it
+jq
+jR
AH
-Ds
-Ds
+jS
+jS
KV
-nI
+ab
DQ
-Si
+aa
aa
ab
aj
@@ -58644,16 +58496,16 @@ zf
Qk
iG
Si
-Wh
-EV
+jQ
+ll
Xe
-ke
+iu
Ch
-kk
-Ad
-Wh
-nI
-Ad
+ja
+jx
+jQ
+ab
+jx
lp
lz
lp
@@ -58901,16 +58753,16 @@ qh
pq
Jq
ke
-ub
-YH
-sR
+gP
+ma
+ix
Dx
-Bf
+kM
UV
-kk
-Ds
-nI
-yv
+ja
+jS
+ab
+it
lu
lq
lD
@@ -59158,16 +59010,16 @@ ui
Xw
Rb
Si
-sR
-Wh
+ix
+jQ
gt
-gF
+jb
pF
-sq
-Ad
-VP
-Ad
-pq
+jq
+jx
+ky
+jx
+kN
lv
lv
lE
@@ -59415,16 +59267,16 @@ dM
eQ
Zc
Si
-Wh
+jQ
XG
-pq
-NN
-JZ
+kN
+mn
+iy
oB
-EV
+ll
nB
-nI
-Si
+ab
+aa
aa
aj
aj
@@ -59672,16 +59524,16 @@ Si
Si
Si
Si
-CG
-Wh
-CG
-JR
-Ad
+jR
+jQ
+jR
+ae
+jx
Pj
ia
yf
-Ds
-Si
+jS
+aa
aj
aj
ab
@@ -59927,18 +59779,18 @@ Dn
Zs
Zs
xX
-gF
+jb
Fz
QM
-CG
-Wh
+jR
+jQ
pc
-dA
-yv
+lg
+it
qA
vR
-WU
-Ag
+mD
+Mx
aj
aj
aj
@@ -60187,15 +60039,15 @@ Si
Si
Br
pD
-Wh
-Ad
-NN
-Wh
+jQ
+jx
+mn
+jQ
hr
zv
BH
-sq
-Ag
+jq
+Mx
ab
aj
aj
@@ -60433,7 +60285,7 @@ aj
aa
aa
aa
-Gw
+cp
Si
KA
KA
@@ -60444,15 +60296,15 @@ Si
Si
Si
ft
-Ad
-pq
-NN
+jx
+kN
+mn
VI
Vj
MS
AU
-Ag
-Ag
+Mx
+Mx
ab
aj
aj
@@ -60701,15 +60553,15 @@ ty
Si
Si
qN
-nI
+ab
hD
-UG
-Ag
-Ag
-Ag
-Ag
-Ag
-Ag
+gR
+Mx
+Mx
+Mx
+Mx
+Mx
+Mx
Mx
ab
aj
@@ -60947,7 +60799,7 @@ aj
aa
aa
aa
-uz
+dA
Ou
KA
QC
@@ -60958,11 +60810,11 @@ vi
Si
BU
kP
-cp
-CG
-xJ
-RF
-Ag
+iY
+jR
+lG
+js
+Mx
xs
xs
xs
@@ -61204,7 +61056,7 @@ aj
aa
aa
aa
-Gw
+cp
An
KA
nt
@@ -61214,16 +61066,16 @@ rQ
MX
sa
Bj
-ub
-It
-dA
+gP
+kj
+lg
sk
Si
Si
nJ
Si
Si
-Ag
+Mx
Mx
ab
aj
@@ -61461,7 +61313,7 @@ aj
aa
aa
aa
-Gw
+cp
Uh
KA
jj
@@ -61472,15 +61324,15 @@ RX
Si
BU
Oy
-cp
-pq
-UG
+iY
+kN
+gR
nJ
WN
Yy
Hq
nJ
-Ag
+Mx
Mx
ab
ab
@@ -61729,15 +61581,15 @@ se
Si
Si
KJ
-CG
+jR
fN
-ub
+gP
RF
eh
EQ
Tn
nJ
-Ag
+Mx
Mx
aj
aj
@@ -61975,7 +61827,7 @@ aj
aa
aa
aa
-Gw
+cp
Si
KA
KA
@@ -61985,10 +61837,10 @@ KA
Si
Si
Si
-sR
-pq
-sq
-nI
+ix
+kN
+jq
+ab
nJ
JP
Qd
@@ -62241,10 +62093,10 @@ Si
Si
Si
Si
-io
+kR
rO
xr
-nI
+ab
eo
nJ
nJ
@@ -62499,15 +62351,15 @@ BG
SG
Xo
ot
-nI
-nI
-nI
+ab
+ab
+ab
pG
-Ag
-Ag
+Mx
+Mx
eP
-Ag
-Ag
+Mx
+Mx
Wj
Mx
ab
@@ -62756,11 +62608,11 @@ aa
aa
Mx
Mx
-nI
-nI
-nI
+ab
+ab
+ab
HX
-Ag
+Mx
Mx
Mx
Mx
@@ -63013,11 +62865,11 @@ aa
aa
Mx
Mx
-Ag
-nI
-nI
-OR
-Ag
+Mx
+ab
+ab
+iC
+Mx
Mx
Mx
ab
@@ -63270,11 +63122,11 @@ aa
aa
ad
Mx
-Ag
-Ag
-nI
-gF
-Ag
+Mx
+Mx
+ab
+jb
+Mx
Mx
ab
ab
@@ -63529,9 +63381,9 @@ ad
ad
Mx
Mx
-Ag
+Mx
hd
-Ag
+Mx
Mx
ab
ab
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index af2fb281e6..ac97966eef 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1426,7 +1426,9 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
/proc/get_random_drink()
var/list/blocked = list(/obj/item/reagent_containers/food/drinks/soda_cans,
- /obj/item/reagent_containers/food/drinks/bottle
+ /obj/item/reagent_containers/food/drinks/bottle,
+ /obj/item/reagent_containers/food/drinks/flask/russian,
+ /obj/item/reagent_containers/food/drinks/flask/steel
)
return pick(subtypesof(/obj/item/reagent_containers/food/drinks) - blocked)
@@ -1562,4 +1564,4 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
channels_to_use += channel
if(channels_to_use.len)
- world.TgsChatBroadcast()
\ No newline at end of file
+ world.TgsChatBroadcast()
diff --git a/code/datums/beam.dm b/code/datums/beam.dm
index d97ee9a773..2622b6ae39 100644
--- a/code/datums/beam.dm
+++ b/code/datums/beam.dm
@@ -83,6 +83,7 @@
elements.Cut()
/datum/beam/Destroy()
+ finished = TRUE
Reset()
target = null
origin = null
@@ -100,7 +101,7 @@
var/length = round(sqrt((DX)**2+(DY)**2)) //hypotenuse of the triangle formed by target and origin's displacement
for(N in 0 to length-1 step 32)//-1 as we want < not <=, but we want the speed of X in Y to Z and step X
- if(QDELETED(src) || finished)
+ if(finished)
break
var/obj/effect/ebeam/X = new beam_type(origin_oldloc)
X.owner = src
diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm
index 36c7d70f3c..430b7e07b0 100644
--- a/code/datums/diseases/transformation.dm
+++ b/code/datums/diseases/transformation.dm
@@ -32,16 +32,16 @@
..()
switch(stage)
if(1)
- if (prob(stage_prob) && stage1)
+ if (prob(stage_prob) && length(stage1))
to_chat(affected_mob, pick(stage1))
if(2)
- if (prob(stage_prob) && stage2)
+ if (prob(stage_prob) && length(stage2))
to_chat(affected_mob, pick(stage2))
if(3)
- if (prob(stage_prob*2) && stage3)
+ if (prob(stage_prob*2) && length(stage3))
to_chat(affected_mob, pick(stage3))
if(4)
- if (prob(stage_prob*2) && stage4)
+ if (prob(stage_prob*2) && length(stage4))
to_chat(affected_mob, pick(stage4))
if(5)
do_disease_transformation(affected_mob)
@@ -162,7 +162,7 @@
desc = "This disease, actually acute nanomachine infection, converts the victim into a cyborg."
severity = DISEASE_SEVERITY_BIOHAZARD
visibility_flags = 0
- stage1 = list()
+ stage1 = null
stage2 = list("Your joints feel stiff.", "Beep...boop..")
stage3 = list("Your joints feel very stiff.", "Your skin feels loose.", "You can feel something move...inside.")
stage4 = list("Your skin feels very loose.", "You can feel... something...inside you.")
@@ -195,7 +195,7 @@
desc = "This disease changes the victim into a xenomorph."
severity = DISEASE_SEVERITY_BIOHAZARD
visibility_flags = 0
- stage1 = list()
+ stage1 = null
stage2 = list("Your throat feels scratchy.", "Kill...")
stage3 = list("Your throat feels very scratchy.", "Your skin feels tight.", "You can feel something move...inside.")
stage4 = list("Your skin feels very tight.", "Your blood boils!", "You can feel... something...inside you.")
diff --git a/code/datums/traits/good.dm b/code/datums/traits/good.dm
index f6ac0e26af..23fd75f982 100644
--- a/code/datums/traits/good.dm
+++ b/code/datums/traits/good.dm
@@ -108,10 +108,10 @@
var/mob/living/carbon/human/H = quirk_holder
var/obj/item/choice_beacon/music/B = new(get_turf(H))
H.put_in_hands(B)
- H.equip_to_slot(B, SLOT_IN_BACKPACK)
+ H.equip_to_slot_if_possible(B, SLOT_IN_BACKPACK)
var/obj/item/musicaltuner/musicaltuner = new(get_turf(H))
H.put_in_hands(musicaltuner)
- H.equip_to_slot(musicaltuner, SLOT_IN_BACKPACK)
+ H.equip_to_slot_if_possible(musicaltuner, SLOT_IN_BACKPACK)
H.regenerate_icons()
/datum/quirk/photographer
diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
index e0ad2b8bbc..039fc102e8 100644
--- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
+++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm
@@ -677,6 +677,9 @@
message_admins("[ADMIN_LOOKUPFLW(Ninja)] has been made into a ninja by dynamic.")
log_game("[key_name(Ninja)] was spawned as a ninja by dynamic.")
return Ninja
+
+/datum/dynamic_ruleset/midround/from_ghosts/ninja/finish_setup(mob/new_character, index)
+ return
#undef ABDUCTOR_MAX_TEAMS
#undef REVENANT_SPAWN_THRESHOLD
diff --git a/code/game/machinery/magnet.dm b/code/game/machinery/magnet.dm
index 50edbe5891..c4494b822f 100644
--- a/code/game/machinery/magnet.dm
+++ b/code/game/machinery/magnet.dm
@@ -316,7 +316,7 @@
if("togglemoving")
moving = !moving
if(moving)
- spawn() MagnetMove()
+ INVOKE_ASYNC(src, .proc/MagnetMove)
updateUsrDialog()
@@ -325,7 +325,7 @@
if(looping)
return
- while(moving && rpath.len >= 1)
+ while(moving && length(rpath) >= 1)
if(stat & (BROKEN|NOPOWER))
break
diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm
index 47caea1b25..bab5c4d93e 100644
--- a/code/game/machinery/porta_turret/portable_turret.dm
+++ b/code/game/machinery/porta_turret/portable_turret.dm
@@ -247,6 +247,7 @@
if(prob(70))
if(stored_gun)
stored_gun.forceMove(loc)
+ stored_gun = null
to_chat(user, "You remove the turret and salvage some components.")
if(prob(50))
new /obj/item/stack/sheet/metal(loc, rand(1,4))
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index a2c128437f..dc9f280e48 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -8,7 +8,7 @@
layer = ABOVE_ALL_MOB_LAYER // Overhead
density = TRUE
circuit = /obj/item/circuitboard/machine/recycler
- var/safety_mode = FALSE // Temporarily stops machine if it detects a mob
+ var/safety_mode = FALSE // Temporarily stops machine if it detects a mob, or upon deconstruction.
var/icon_name = "grinder-o"
var/blood = 0
var/eat_dir = WEST
@@ -24,6 +24,10 @@
update_icon()
req_one_access = get_all_accesses() + get_all_centcom_access()
+/obj/machinery/recycler/deconstruct(disassembled = TRUE)
+ safety_mode = TRUE //to stop stock parts and circuit from being deleted.
+ return ..()
+
/obj/machinery/recycler/RefreshParts()
var/amt_made = 0
var/mat_mod = 0
@@ -97,18 +101,14 @@
. = ..()
/obj/machinery/recycler/proc/eat(atom/AM0, sound=TRUE)
- if(stat & (BROKEN|NOPOWER))
- return
- if(safety_mode)
+ if(stat & (BROKEN|NOPOWER) || safety_mode)
return
+
var/list/to_eat
- if(isitem(AM0))
- to_eat = AM0.GetAllContentsIgnoring(GLOB.typecache_mob)
- else
- to_eat = list(AM0)
+
+ to_eat = AM0.GetAllContentsIgnoring(GLOB.typecache_mob)
var/items_recycled = 0
-
for(var/i in to_eat)
var/atom/movable/AM = i
var/obj/item/bodypart/head/as_head = AM
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index 28a93a7a83..b137c5c0f3 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -173,37 +173,6 @@
R.module.basic_modules += S
R.module.add_module(S, FALSE, TRUE)
-/obj/item/borg/upgrade/premiumka
- name = "mining cyborg premium KA"
- desc = "A premium kinetic accelerator replacement for the mining module's standard kinetic accelerator."
- icon_state = "cyborg_upgrade3"
- require_module = 1
- module_type = list(/obj/item/robot_module/miner)
-
-/obj/item/borg/upgrade/premiumka/action(mob/living/silicon/robot/R, user = usr)
- . = ..()
- if(.)
- for(var/obj/item/gun/energy/kinetic_accelerator/cyborg/KA in R.module)
- for(var/obj/item/borg/upgrade/modkit/M in KA.modkits)
- M.uninstall(src)
- R.module.remove_module(KA, TRUE)
-
- var/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg/PKA = new /obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg(R.module)
- R.module.basic_modules += PKA
- R.module.add_module(PKA, FALSE, TRUE)
-
-/obj/item/borg/upgrade/premiumka/deactivate(mob/living/silicon/robot/R, user = usr)
- . = ..()
- if (.)
- for(var/obj/item/gun/energy/kinetic_accelerator/premiumka/cyborg/PKA in R.module)
- for(var/obj/item/borg/upgrade/modkit/M in PKA.modkits)
- M.uninstall(src)
- R.module.remove_module(PKA, TRUE)
-
- var/obj/item/gun/energy/kinetic_accelerator/cyborg/KA = new (R.module)
- R.module.basic_modules += KA
- R.module.add_module(KA, FALSE, TRUE)
-
/obj/item/borg/upgrade/advcutter
name = "mining cyborg advanced plasma cutter"
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 6865660d0b..31886edf2b 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -136,6 +136,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \
merge_type = /obj/item/stack/sheet/metal
grind_results = list(/datum/reagent/iron = 20)
point_value = 2
+ tableVariant = /obj/structure/table
material_type = /datum/material/iron
/obj/item/stack/sheet/metal/ratvar_act()
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index f707c02ce9..5f2795c857 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -219,8 +219,9 @@
O = new R.result_type(usr.drop_location())
if(O)
O.setDir(usr.dir)
+ log_craft("[O] crafted by [usr] at [loc_name(O.loc)]")
+
use(R.req_amount * multiplier)
- log_craft("[O] crafted by [usr] at [loc_name(O.loc)]")
if(R.applies_mats && custom_materials && custom_materials.len)
var/list/used_materials = list()
diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm
index cee8e0f3ee..b4e0dab65b 100644
--- a/code/game/objects/items/storage/backpack.dm
+++ b/code/game/objects/items/storage/backpack.dm
@@ -54,7 +54,12 @@
icon_state = "holdingsat"
item_state = "holdingsat"
species_exception = list(/datum/species/angel)
- rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
+
+/obj/item/storage/backpack/holding/duffel
+ name = "duffel bag of holding"
+ desc = "A duffel bag that opens into a localized pocket of Blue Space."
+ icon_state = "holdingduffel"
+ item_state = "holdingduffel"
/obj/item/storage/backpack/holding/ComponentInitialize()
. = ..()
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 57fc99c663..2c31e4addf 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1012,7 +1012,7 @@
/obj/item/twohanded/electrostaff
icon = 'icons/obj/items_and_weapons.dmi'
- icon_state = "electrostaff_3"
+ icon_state = "electrostaff"
item_state = "electrostaff"
lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi'
@@ -1116,10 +1116,10 @@
/obj/item/twohanded/electrostaff/update_icon_state()
. = ..()
if(!wielded)
- icon_state = "electrostaff_3"
+ icon_state = "electrostaff"
item_state = "electrostaff"
else
- icon_state = item_state = (on? "electrostaff_1" : "electrostaff_3")
+ icon_state = item_state = (on? "electrostaff_1" : "electrostaff_0")
set_light(7, on? 1 : 0, LIGHT_COLOR_CYAN)
/obj/item/twohanded/electrostaff/examine(mob/living/user)
diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm
index 116c598235..77416c45e5 100644
--- a/code/game/objects/structures/ghost_role_spawners.dm
+++ b/code/game/objects/structures/ghost_role_spawners.dm
@@ -59,6 +59,7 @@
new_spawn.real_name = random_unique_lizard_name(gender)
if(is_mining_level(z))
to_chat(new_spawn, "Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!")
+ to_chat(new_spawn, "You can expand the weather proof area provided by your shelters by using the 'New Area' key near the bottom right of your HUD.")
else
to_chat(new_spawn, "You have been born outside of your natural home! Whether you decide to return home, or make due with your new home is your own decision.")
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index d26a6efb02..268e8e9109 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -70,7 +70,8 @@
/turf/closed/wall/proc/break_wall()
new sheet_type(src, sheet_amount)
- return new girder_type(src)
+ if(girder_type)
+ return new girder_type(src)
/turf/closed/wall/proc/devastate_wall()
new sheet_type(src, sheet_amount)
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index b8b92b0a58..b8175326ec 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -1315,15 +1315,15 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits
var/obj/item/reagent_containers/food/snacks/pie/cream/nostun/creamy = new(get_turf(target))
creamy.splat(target)
if (ADMIN_PUNISHMENT_CUSTOM_PIE)
- var/obj/item/reagent_containers/food/snacks/pie/cream/nostun/A = new(get_turf(target))
+ var/obj/item/reagent_containers/food/snacks/pie/cream/nostun/A = new()
if(!A.reagents)
- var/amount = input(usr, "Specify the reagent size of [A]", "Set Reagent Size", 50) as num
+ var/amount = input(usr, "Specify the reagent size of [A]", "Set Reagent Size", 50) as num|null
if(amount)
A.create_reagents(amount)
if(A.reagents)
var/chosen_id = choose_reagent_id(usr)
if(chosen_id)
- var/amount = input(usr, "Choose the amount to add.", "Choose the amount.", A.reagents.maximum_volume) as num
+ var/amount = input(usr, "Choose the amount to add.", "Choose the amount.", A.reagents.maximum_volume) as num|null
if(amount)
A.reagents.add_reagent(chosen_id, amount)
A.splat(target)
diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm
index b81647cf39..5c0bb33a29 100644
--- a/code/modules/clothing/glasses/hud.dm
+++ b/code/modules/clothing/glasses/hud.dm
@@ -102,7 +102,8 @@
/obj/item/clothing/glasses/hud/diagnostic/sunglasses
name = "diagnostic HUDSunglasses"
desc = "Sunglasses with a diagnostic HUD."
- icon_state = "sunhuddiagnostic"
+ icon_state = "sunhuddiag"
+ item_state = "glasses"
darkness_view = 1
flash_protect = 1
tint = 1
diff --git a/code/modules/food_and_drinks/food/snacks_pie.dm b/code/modules/food_and_drinks/food/snacks_pie.dm
index b3ad6b5126..dfb62ef59d 100644
--- a/code/modules/food_and_drinks/food/snacks_pie.dm
+++ b/code/modules/food_and_drinks/food/snacks_pie.dm
@@ -44,8 +44,8 @@
if(ishuman(hit_atom))
var/mob/living/carbon/human/H = hit_atom
var/mutable_appearance/creamoverlay = mutable_appearance('icons/effects/creampie.dmi')
- if(H.dna.species.limbs_id == "lizard")
- creamoverlay.icon_state = "creampie_lizard"
+ if((("mam_snouts" in H.dna.species.default_features) && H.dna.features["mam_snouts"] != "None") || (("snout" in H.dna.species.default_features) && H.dna.features["snout"] != "None"))
+ creamoverlay.icon_state = "creampie_snout"
else
creamoverlay.icon_state = "creampie_human"
if(stunning)
@@ -53,7 +53,7 @@
H.adjust_blurriness(1)
H.visible_message("[H] is creamed by [src]!", "You've been creamed by [src]!")
playsound(H, "desceration", 50, TRUE)
- if(!H.is_mouth_covered())
+ if(!H.is_mouth_covered())
reagents.trans_to(H,15) //Cream pie combat
if(!H.creamed) // one layer at a time
H.add_overlay(creamoverlay)
diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm
index b9f85a5c8f..bbab74689c 100644
--- a/code/modules/mining/equipment/survival_pod.dm
+++ b/code/modules/mining/equipment/survival_pod.dm
@@ -139,6 +139,9 @@
icon = 'icons/obj/lavaland/survival_pod.dmi'
icon_state = "sleeper"
+/obj/machinery/sleeper/survival_pod/update_icon_state()
+ return
+
/obj/machinery/sleeper/survival_pod/update_overlays()
. = ..()
if(!state_open)
@@ -189,7 +192,7 @@
flags_1 = NODECONSTRUCT_1
var/empty = FALSE
-/obj/machinery/stasis/survival_pod/ComponentInitialize()
+/obj/machinery/smartfridge/survival_pod/ComponentInitialize()
. = ..()
AddElement(/datum/element/update_icon_blocker)
diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm
index 77844a4788..d1258ce6e4 100644
--- a/code/modules/mob/living/brain/MMI.dm
+++ b/code/modules/mob/living/brain/MMI.dm
@@ -24,6 +24,9 @@
/obj/item/mmi/update_overlays()
. = ..()
+ . += add_mmi_overlay()
+
+/obj/item/mmi/proc/add_mmi_overlay()
if(brainmob && brainmob.stat != DEAD)
. += "mmi_alive"
else
diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm
index 173b68fc3c..893d7c5103 100644
--- a/code/modules/mob/living/brain/posibrain.dm
+++ b/code/modules/mob/living/brain/posibrain.dm
@@ -193,3 +193,6 @@ GLOBAL_VAR(posibrain_notify_cooldown)
icon_state = "[initial(icon_state)]-occupied"
else
icon_state = initial(icon_state)
+
+/obj/item/mmi/posibrain/add_mmi_overlay()
+ return
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 1b57796250..41f8283ab9 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -242,6 +242,12 @@
return
if(href_list["pockets"])
+ var/strip_mod = 1
+ var/strip_silence = FALSE
+ var/obj/item/clothing/gloves/g = gloves
+ if (istype(g))
+ strip_mod = g.strip_mod
+ strip_silence = g.strip_silence
var/pocket_side = href_list["pockets"]
var/pocket_id = (pocket_side == "right" ? SLOT_R_STORE : SLOT_L_STORE)
var/obj/item/pocket_item = (pocket_id == SLOT_R_STORE ? r_store : l_store)
@@ -258,7 +264,7 @@
else
return
- if(do_mob(usr, src, POCKET_STRIP_DELAY/delay_denominator, ignorehelditem = TRUE)) //placing an item into the pocket is 4 times faster
+ if(do_mob(usr, src, max(round(POCKET_STRIP_DELAY/(delay_denominator*strip_mod)),1), ignorehelditem = TRUE)) //placing an item into the pocket is 4 times faster (and the strip_mod too)
if(pocket_item)
if(pocket_item == (pocket_id == SLOT_R_STORE ? r_store : l_store)) //item still in the pocket we search
dropItemToGround(pocket_item)
@@ -276,7 +282,8 @@
show_inv(usr)
else
// Display a warning if the user mocks up
- to_chat(src, "You feel your [pocket_side] pocket being fumbled with!")
+ if (!strip_silence)
+ to_chat(src, "You feel your [pocket_side] pocket being fumbled with!")
..() //CITADEL CHANGE - removes a tab from behind this ..() so that flavortext can actually be examined
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index b428f49578..fc2817f134 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(I.flags_inv & HIDEFACIALHAIR)
facialhair_hidden = TRUE
- if(H.wear_mask)
+ if(H.wear_mask && istype(H.wear_mask))
var/obj/item/clothing/mask/M = H.wear_mask
dynamic_fhair_suffix = M.dynamic_fhair_suffix //mask > head in terms of facial hair
if(M.flags_inv & HIDEFACIALHAIR)
@@ -451,7 +451,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(I.flags_inv & HIDEHAIR)
hair_hidden = TRUE
- if(H.wear_mask)
+ if(H.wear_mask && istype(H.wear_mask))
var/obj/item/clothing/mask/M = H.wear_mask
if(!dynamic_hair_suffix) //head > mask in terms of head hair
dynamic_hair_suffix = M.dynamic_hair_suffix
diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm
index c45a472367..4f20a95dab 100644
--- a/code/modules/mob/living/silicon/robot/robot_modules.dm
+++ b/code/modules/mob/living/silicon/robot/robot_modules.dm
@@ -821,7 +821,6 @@
/obj/item/gps/cyborg,
/obj/item/weapon/gripper/mining,
/obj/item/cyborg_clamp,
- /obj/item/card/id/miningborg,
/obj/item/stack/marker_beacon,
/obj/item/destTagger,
/obj/item/stack/packageWrap)
@@ -1023,4 +1022,4 @@
/datum/robot_energy_storage/wrapping_paper
max_energy = 30
recharge_rate = 1
- name = "Wrapping Paper Storage"
\ No newline at end of file
+ name = "Wrapping Paper Storage"
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index 4bf8aa5e23..485cece8b7 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -445,7 +445,7 @@
sleep(3)
step_to(src,movement_target,1)
- if(movement_target) //Not redundant due to sleeps, Item can be gone in 6 decisecomds
+ if(movement_target?.loc) //Not redundant due to sleeps, Item can be gone in 6 decisecomds
if (movement_target.loc.x < src.x)
setDir(WEST)
else if (movement_target.loc.x > src.x)
diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
index 0947a3090b..22bc968f84 100644
--- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm
+++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
@@ -204,7 +204,7 @@
rapid = 2
icon_state = "syndicate_smg"
icon_living = "syndicate_smg"
- casingtype = /obj/item/ammo_casing/c45/nostamina
+ casingtype = /obj/item/ammo_casing/c45
projectilesound = 'sound/weapons/gunshot_smg.ogg'
/mob/living/simple_animal/hostile/syndicate/ranged/smg/pilot //caravan ambush ruin
diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm
index 4e7f1dc9ea..dbe4c80579 100644
--- a/code/modules/ninja/suit/gloves.dm
+++ b/code/modules/ninja/suit/gloves.dm
@@ -70,6 +70,9 @@
else
. = FALSE //as to not cancel attack_hand()
+/obj/item/clothing/gloves/space_ninja/dropped(mob/user)
+ . = ..()
+ REMOVE_TRAIT(src, TRAIT_NODROP, NINJA_SUIT_TRAIT)
/obj/item/clothing/gloves/space_ninja/proc/toggledrain()
var/mob/living/carbon/human/U = loc
diff --git a/code/modules/ninja/suit/head.dm b/code/modules/ninja/suit/head.dm
index a62f871f56..9a65dabc1e 100644
--- a/code/modules/ninja/suit/head.dm
+++ b/code/modules/ninja/suit/head.dm
@@ -9,4 +9,8 @@
strip_delay = 12
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
blockTracking = 1//Roughly the only unique thing about this helmet.
- flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
\ No newline at end of file
+ flags_inv = HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
+
+/obj/item/clothing/head/helmet/space/space_ninja/dropped(mob/user)
+ . = ..()
+ REMOVE_TRAIT(src, TRAIT_NODROP, NINJA_SUIT_TRAIT)
diff --git a/code/modules/ninja/suit/mask.dm b/code/modules/ninja/suit/mask.dm
index 52657f913c..421c13f9eb 100644
--- a/code/modules/ninja/suit/mask.dm
+++ b/code/modules/ninja/suit/mask.dm
@@ -19,6 +19,10 @@ Contents:
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
modifies_speech = TRUE
+/obj/item/clothing/mask/gas/space_ninja/dropped(mob/user)
+ . = ..()
+ REMOVE_TRAIT(src, TRAIT_NODROP, NINJA_SUIT_TRAIT)
+
/obj/item/clothing/mask/gas/space_ninja/handle_speech(datum/source, list/speech_args)
var/message = speech_args[SPEECH_MESSAGE]
if(message[1] != "*")
diff --git a/code/modules/projectiles/ammunition/ballistic/smg.dm b/code/modules/projectiles/ammunition/ballistic/smg.dm
index 49ec78f9dd..7f241fd16d 100644
--- a/code/modules/projectiles/ammunition/ballistic/smg.dm
+++ b/code/modules/projectiles/ammunition/ballistic/smg.dm
@@ -24,9 +24,6 @@
caliber = ".45"
projectile_type = /obj/item/projectile/bullet/c45
-/obj/item/ammo_casing/c45/nostamina
- projectile_type = /obj/item/projectile/bullet/c45_nostamina
-
/obj/item/ammo_casing/c45/kitchengun
desc = "A .45 bullet casing. It has a small sponge attached to it."
projectile_type = /obj/item/projectile/bullet/c45_cleaning
diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm
index 70637bb57a..a0d8481413 100644
--- a/code/modules/projectiles/boxes_magazines/external/smg.dm
+++ b/code/modules/projectiles/boxes_magazines/external/smg.dm
@@ -60,7 +60,7 @@
/obj/item/ammo_box/magazine/smgm45
name = "SMG magazine (.45)"
icon_state = "c20r45-24"
- ammo_type = /obj/item/ammo_casing/c45/nostamina
+ ammo_type = /obj/item/ammo_casing/c45
caliber = ".45"
max_ammo = 24
diff --git a/code/modules/projectiles/projectile/bullets/smg.dm b/code/modules/projectiles/projectile/bullets/smg.dm
index 94ec2d3c2b..eb4c8e9776 100644
--- a/code/modules/projectiles/projectile/bullets/smg.dm
+++ b/code/modules/projectiles/projectile/bullets/smg.dm
@@ -1,18 +1,12 @@
// .45 (M1911 & C20r)
/obj/item/projectile/bullet/c45
- name = ".45 bullet"
- damage = 20
- stamina = 65
-
-/obj/item/projectile/bullet/c45_nostamina
name = ".45 bullet"
damage = 30
/obj/item/projectile/bullet/c45_cleaning
name = ".45 bullet"
- damage = 24
- stamina = 10
+ damage = 40 //BANG BANG BANG
/obj/item/projectile/bullet/c45_cleaning/on_hit(atom/target, blocked = FALSE)
. = ..()
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index adac8b5651..b8273e33ab 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -43,14 +43,14 @@
set_APTFT()
return TRUE
-/obj/item/reagent_containers/proc/set_APTFT(mob/user) //set amount_per_transfer_from_this
+/obj/item/reagent_containers/proc/set_APTFT() //set amount_per_transfer_from_this
set name = "Set Transfer Amount"
set category = "Object"
set waitfor = FALSE
var/N = input("Amount per transfer from this:","[src]") as null|anything in possible_transfer_amounts
if(N)
amount_per_transfer_from_this = N
- to_chat(user, "[src]'s transfer amount is now [amount_per_transfer_from_this] units.")
+ to_chat(usr, "[src]'s transfer amount is now [amount_per_transfer_from_this] units.")
/obj/item/reagent_containers/proc/add_initial_reagents()
if(list_reagents)
diff --git a/code/modules/research/designs/bluespace_designs.dm b/code/modules/research/designs/bluespace_designs.dm
index b03b85f99b..0d11b8e887 100644
--- a/code/modules/research/designs/bluespace_designs.dm
+++ b/code/modules/research/designs/bluespace_designs.dm
@@ -35,6 +35,17 @@
dangerous_construction = TRUE
departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
+/datum/design/duffelbag_holding
+ name = "Duffel Bag of Holding"
+ desc = "A duffel bag that opens into a localized pocket of bluespace."
+ id = "duffelbag_holding"
+ build_type = PROTOLATHE
+ materials = list(/datum/material/gold = 3000, /datum/material/diamond = 1500, /datum/material/uranium = 250, /datum/material/bluespace = 2000)
+ build_path = /obj/item/storage/backpack/holding/duffel
+ category = list("Bluespace Designs")
+ dangerous_construction = TRUE
+ departmental_flags = DEPARTMENTAL_FLAG_SCIENCE
+
/datum/design/biobag_holding
name = "Bio Bag of Holding"
desc = "A chemical holding thingy. Mostly used for xenobiology."
diff --git a/code/modules/research/designs/mechfabricator_designs.dm b/code/modules/research/designs/mechfabricator_designs.dm
index a5ad3287fc..02d16b8c2e 100644
--- a/code/modules/research/designs/mechfabricator_designs.dm
+++ b/code/modules/research/designs/mechfabricator_designs.dm
@@ -633,15 +633,6 @@
construction_time = 120
category = list("Cyborg Upgrade Modules")
-/datum/design/borg_upgrade_premiumka
- name = "Cyborg Upgrade (Premium Kinetic Accelerator)"
- id = "borg_upgrade_premiumka"
- build_type = MECHFAB
- build_path = /obj/item/borg/upgrade/premiumka
- materials = list(/datum/material/iron=8000, /datum/material/glass=4000, /datum/material/titanium=2000)
- construction_time = 120
- category = list("Cyborg Upgrade Modules")
-
/datum/design/borg_upgrade_lavaproof
name = "Cyborg Upgrade (Lavaproof Tracks)"
id = "borg_upgrade_lavaproof"
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index b0d95a87d7..fe5f275da5 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -278,7 +278,7 @@
display_name = "Bluespace Pockets"
description = "Studies into the mysterious alternate dimension known as bluespace and how to place items in the threads of reality."
prereq_ids = list("adv_power", "adv_bluespace", "adv_biotech", "adv_plasma")
- design_ids = list( "bluespacebodybag","bag_holding", "bluespace_pod", "borg_upgrade_trashofholding", "blutrash", "satchel_holding", "bsblood_bag")
+ design_ids = list( "bluespacebodybag","bag_holding", "bluespace_pod", "borg_upgrade_trashofholding", "blutrash", "satchel_holding", "bsblood_bag", "duffelbag_holding")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5500)
/datum/techweb_node/bluespace_portal
@@ -336,7 +336,7 @@
display_name = "Advanced Robotics Research"
description = "It can even do the dishes!"
prereq_ids = list("robotics")
- design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop", "borg_upgrade_advcutter", "borg_upgrade_premiumka")
+ design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_advancedmop", "borg_upgrade_advcutter")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
/datum/techweb_node/neural_programming
diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm
index a915d12838..6b93995e62 100644
--- a/code/modules/surgery/organs/eyes.dm
+++ b/code/modules/surgery/organs/eyes.dm
@@ -319,6 +319,8 @@
on_mob.forceMove(scanning)
for(var/i in 1 to light_beam_distance)
scanning = get_step(scanning, scandir)
+ if(!scanning)
+ break
if(scanning.opacity || scanning.has_opaque_atom)
stop = TRUE
var/obj/effect/abstract/eye_lighting/L = LAZYACCESS(eye_lighting, i)
diff --git a/code/modules/uplink/uplink_items/uplink_roles.dm b/code/modules/uplink/uplink_items/uplink_roles.dm
index 3c3245a0fd..3d28010133 100644
--- a/code/modules/uplink/uplink_items/uplink_roles.dm
+++ b/code/modules/uplink/uplink_items/uplink_roles.dm
@@ -159,7 +159,7 @@
/datum/uplink_item/role_restricted/kitchen_gun
name = "Kitchen Gun (TM)"
desc = "A revolutionary .45 caliber cleaning solution! Say goodbye to daily stains and dirty surfaces with Kitchen Gun (TM)! \
- Just five shots from Kitchen Gun (TM), and it'll sparkle like new! Includes two extra ammunition clips!"
+ Just three shots from Kitchen Gun (TM), and it'll sparkle like new! Includes two extra ammunition clips!"
cost = 10
surplus = 40
restricted_roles = list("Cook", "Janitor")
diff --git a/html/changelogs/AutoChangeLog-pr-11465.yml b/html/changelogs/AutoChangeLog-pr-11465.yml
new file mode 100644
index 0000000000..d0de4bf083
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11465.yml
@@ -0,0 +1,4 @@
+author: "Seris02"
+delete-after: True
+changes:
+ - rscadd: "duffel bags of holding"
diff --git a/html/changelogs/AutoChangeLog-pr-11483.yml b/html/changelogs/AutoChangeLog-pr-11483.yml
new file mode 100644
index 0000000000..1dba7db9e1
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11483.yml
@@ -0,0 +1,4 @@
+author: "Hatterhat"
+delete-after: True
+changes:
+ - rscdel: "Mining cyborgs are no longer physically capable of claiming points nor wielding a premium accelerator."
diff --git a/html/changelogs/AutoChangeLog-pr-11484.yml b/html/changelogs/AutoChangeLog-pr-11484.yml
new file mode 100644
index 0000000000..b344c39cd4
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11484.yml
@@ -0,0 +1,4 @@
+author: "Yenwodyah"
+delete-after: True
+changes:
+ - bugfix: "Recycler doesn't delete people in mechs, cardboard boxes, spells, etc. anymore."
diff --git a/html/changelogs/AutoChangeLog-pr-11488.yml b/html/changelogs/AutoChangeLog-pr-11488.yml
new file mode 100644
index 0000000000..fa4343b4a8
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11488.yml
@@ -0,0 +1,4 @@
+author: "bunny232"
+delete-after: True
+changes:
+ - bugfix: "Box bridge now actually has the air distro connected"
diff --git a/html/changelogs/AutoChangeLog-pr-11493.yml b/html/changelogs/AutoChangeLog-pr-11493.yml
new file mode 100644
index 0000000000..aa9aae34af
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11493.yml
@@ -0,0 +1,4 @@
+author: "Trilbyspaceclone"
+delete-after: True
+changes:
+ - bugfix: "No longer can you get the The End and Russian Flask without being the donator"
diff --git a/html/changelogs/AutoChangeLog-pr-11495.yml b/html/changelogs/AutoChangeLog-pr-11495.yml
new file mode 100644
index 0000000000..ef1778d811
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11495.yml
@@ -0,0 +1,5 @@
+author: "BlackMajor"
+delete-after: True
+changes:
+ - tweak: "Adjusted the ash walker camp's storm proofing."
+ - rscadd: "Added a tip about creating areas to the ash walker spawn text."
diff --git a/html/changelogs/AutoChangeLog-pr-11496.yml b/html/changelogs/AutoChangeLog-pr-11496.yml
new file mode 100644
index 0000000000..08c74a913e
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11496.yml
@@ -0,0 +1,4 @@
+author: "Seris02"
+delete-after: True
+changes:
+ - bugfix: "fixed thieving gloves not pickpocketing fast"
diff --git a/html/changelogs/AutoChangeLog-pr-11498.yml b/html/changelogs/AutoChangeLog-pr-11498.yml
new file mode 100644
index 0000000000..1d90d62182
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11498.yml
@@ -0,0 +1,4 @@
+author: "necromanceranne"
+delete-after: True
+changes:
+ - bugfix: "Diagnostic HUDSunglasses are better than ever!"
diff --git a/html/changelogs/AutoChangeLog-pr-11500.yml b/html/changelogs/AutoChangeLog-pr-11500.yml
new file mode 100644
index 0000000000..f5f6719199
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11500.yml
@@ -0,0 +1,4 @@
+author: "necromanceranne"
+delete-after: True
+changes:
+ - bugfix: "Sprite fixes I hope"
diff --git a/html/changelogs/AutoChangeLog-pr-11501.yml b/html/changelogs/AutoChangeLog-pr-11501.yml
new file mode 100644
index 0000000000..ff2bc9428e
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11501.yml
@@ -0,0 +1,4 @@
+author: "Bumtickley00"
+delete-after: True
+changes:
+ - tweak: "Iron sheets build the normal metal table again"
diff --git a/html/changelogs/AutoChangeLog-pr-11503.yml b/html/changelogs/AutoChangeLog-pr-11503.yml
new file mode 100644
index 0000000000..96d1bd52d5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11503.yml
@@ -0,0 +1,5 @@
+author: "necromanceranne"
+delete-after: True
+changes:
+ - balance: "You can no longer acquire stun bullets in the .45 calibre. You can get the 30 damage version out of the autolathe instead."
+ - balance: "KITCHEN GUN (TM) is a lot stronger. Cleaning bullets are a whole 40 damage!"
diff --git a/html/changelogs/AutoChangeLog-pr-11504.yml b/html/changelogs/AutoChangeLog-pr-11504.yml
new file mode 100644
index 0000000000..a03052dfb5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-11504.yml
@@ -0,0 +1,4 @@
+author: "necromanceranne"
+delete-after: True
+changes:
+ - bugfix: "Fixed turrets not allowing their guns to be recovered."
diff --git a/icons/effects/creampie.dmi b/icons/effects/creampie.dmi
index 6caecf7d76..d85131f47d 100644
Binary files a/icons/effects/creampie.dmi and b/icons/effects/creampie.dmi differ
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index 1a2c0e189a..947ccb7924 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/icons/mob/inhands/weapons/staves_lefthand.dmi b/icons/mob/inhands/weapons/staves_lefthand.dmi
index ca1694b1f1..8851fd8e7b 100644
Binary files a/icons/mob/inhands/weapons/staves_lefthand.dmi and b/icons/mob/inhands/weapons/staves_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/staves_righthand.dmi b/icons/mob/inhands/weapons/staves_righthand.dmi
index 4d366d950f..4d02fcb383 100644
Binary files a/icons/mob/inhands/weapons/staves_righthand.dmi and b/icons/mob/inhands/weapons/staves_righthand.dmi differ
diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi
index ea5c34438f..c1d41591a2 100644
Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index 56c32eb889..33cb08b738 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ